Tôi đã sử dụng Hoạt động tra cứu và câu lệnh CHỌN của BẢNG KÉP. Do các thủ tục được lưu trữ không thể được gọi từ một câu lệnh SELECT. Tôi đã tạo một hàm oracle và hàm gọi thủ tục được lưu trữ. Hàm trả về một giá trị và giá trị này được nhận bởi hoạt động tra cứu. Khi bạn xác định hàm, bạn phải thêm câu lệnh PRAGMA AUTONOMOUS_TRANSACTION. Điều này là do Oracle không cho phép thực thi các lệnh DML với câu lệnh SELECT theo mặc định. Sau đó, bạn cần xác định rằng các hướng dẫn DML trong Thủ tục được lưu trữ sẽ là một giao dịch tự trị.
--Tabla
CREATE TABLE empleados(
emp_id NUMBER(9),
nombre VARCHAR2(100),
CONSTRAINT empleados_pk PRIMARY KEY(emp_id),
);
create or replace procedure insert_empleado (numero in NUMBER, nombre in VARCHAR2) is
begin
INSERT INTO empleados (emp_id, nombre)
Values(numero, nombre);
COMMIT;
end;
create or replace function funcinsert_empleado (numero in NUMBER, nombre in VARCHAR2)
return VARCHAR2
is
PRAGMA AUTONOMOUS_TRANSACTION;
begin
insert_empleado (numero, nombre);
return 'done';
end;
--statement in query of lookup
SELECT funcinsert_empleado ('1', 'Roger Federer')
FROM DUAL;
Đây là ví dụ bằng tiếng Tây Ban Nha. https://dev.to / maritzag / ejecutar-un-storage-procedure-de-oracle-desde-data-factory-2jcp