dg4odbc के माध्यम से संग्रहीत कार्यविधियों या कार्यों को कॉल करना वास्तव में संभव है। मैंने MS SQL सर्वर के लिए डेटाबेस गेटवे का परीक्षण किया है , और यह वैसे भी मूल रूप से Sql सर्वर तालिका/स्केलर-मूल्यवान कार्यों का समर्थन करने में विफल रहा। दोनों को DBMS_HS_PASSTHROUGH.EXECUTE_IMMEDIATE पर निर्भर रहने की आवश्यकता है इस कार्यक्षमता के लिए। हमें सम्मिलित पंक्तियों की आईडी पुनः प्राप्त करने की आवश्यकता है:
DECLARE
RESULT NUMBER(8,2);
val INTEGER;
c INTEGER;
nr INTEGER;
BEGIN
RESULT := [email protected]('select SCOPE_IDENTITY();');
c := [email protected];
[email protected](c, 'select @@IDENTITY');
LOOP
nr := [email protected](c);
EXIT WHEN nr = 0;
[email protected](c, 1, val);
END LOOP;
[email protected](c);
DBMS_OUTPUT.PUT_LINE('retrieved: ' || val);
END;