Tôi đang cố gắng chạy một thủ tục được lưu trữ có nhiều tham số vào và ra. Chỉ có thể xem quy trình trong bảng điều khiển Kết nối của tôi bằng cách điều hướng Người dùng khác | | Gói hàng | |
Nếu tôi nhấp chuột phải, các mục menu là "Đặt hàng thành viên theo ..." và "Tạo đơn vị kiểm tra" (chuyển sang màu xám). Khả năng "Chạy" quy trình dường như không khả thi khi nó được người dùng truy cập.
Tôi đã cố gắng tìm một ví dụ về cách tạo một khối ẩn danh để tôi có thể chạy thủ tục dưới dạng tệp SQL, nhưng không tìm thấy bất kỳ thứ gì hoạt động.
Có ai biết cách tôi có thể thực hiện thủ tục này từ SQL Developer không? Tôi đang sử dụng Phiên bản 2.1.1.64.
Cảm ơn trước!
CHỈNH SỬA 1:
Thủ tục tôi muốn gọi có chữ ký này:
user.package.procedure(
p_1 IN NUMBER,
p_2 IN NUMBER,
p_3 OUT VARCHAR2,
p_4 OUT VARCHAR2,
p_5 OUT VARCHAR2,
p_6 OUT NUMBER)
Nếu tôi viết khối ẩn danh của mình như thế này:
DECLARE
out1 VARCHAR2(100);
out2 VARCHAR2(100);
out3 VARCHAR2(100);
out4 NUMBER(100);
BEGIN
EXECUTE user.package.procedure (33,89, :out1, :out2, :out3, :out4);
END;
Tôi gặp lỗi:
Bind Varialbe "out1" is NOT DECLCARED
anonymous block completed
Tôi đã thử khởi tạo các biến out *:
out1 VARCHAR2(100) := '';
nhưng gặp lỗi tương tự:
CHỈNH SỬA 2:
Dựa trên câu trả lời của Alex, tôi đã thử xóa dấu hai chấm ở phía trước các tham số và nhận được điều này:
Error starting at line 1 in command:
DECLARE
out1 VARCHAR2(100);
out2 VARCHAR2(100);
out3 VARCHAR2(100);
out4 NUMBER(100);
BEGIN
EXECUTE user.package.procedure (33,89, out1, out2, out3, out4);
END;
Error report:
ORA-06550: line 13, column 17:
PLS-00103: Encountered the symbol "USER" when expecting one of the following:
:= . ( @ % ; immediate
The symbol ":=" was substituted for "USER" to continue.
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action: