Tôi đã sử dụng cú pháp sau và nó phù hợp với tôi.
EXECUTE (Query, Parameters) AT LinkedServerName
Ví dụ:
EXECUTE ( 'BEGIN ? := Package.MyFunction(?,?); END;', @ReturnValue, @InputPara, @OutputPara OUTPUT ) AT LinkedServerName
Điểm quan trọng:
- Đừng quên cú pháp BEGIN và END khi gọi các hàm
- Đừng quên dấu chấm phẩy ở cuối "END **; **"
- Để sử dụng cú pháp trên, bạn cần bật RPC cho máy chủ được liên kết
- Oracle sẽ không coi lệnh gọi là lệnh gọi hàm trừ khi bạn chấp nhận kết quả đầu ra trong một biến