从SAS调用Oracle存储过程
如何从SAS调用Oracle存储过程来传递值和返回值。我有SAS/ACCESS并运行SAS 9.3 谢谢从SAS调用Oracle存储过程,sas,Sas,如何从SAS调用Oracle存储过程来传递值和返回值。我有SAS/ACCESS并运行SAS 9.3 谢谢 Dan这在SAS 9.2及更高版本中使用ODBC直通应该可以正常工作 以下是与相关链接类似的讨论: 我会试着在某个时候回来猜测一下这个答案中的链接文章…这应该可以: proc sql; connect to oracle (user="oracleUserName" password="pass" path="serverPath" CONNECTION=GLOBAL CONNECTIO
Dan这在SAS 9.2及更高版本中使用ODBC直通应该可以正常工作 以下是与相关链接类似的讨论: 我会试着在某个时候回来猜测一下这个答案中的链接文章…这应该可以:
proc sql;
connect to oracle (user="oracleUserName" password="pass" path="serverPath" CONNECTION=GLOBAL CONNECTION_GROUP = SASAML);
execute( execute MyPackage.MyProcedure(¶m1, ¶m2) ) by oracle;
/* param1 and param2 are macro variables here */
disconnect from oracle;
quit;
直通存储过程执行不支持输出参数。但如果您只需要一个输出参数,解决方法是使用一个函数和“SELECT FROM dual”查询。下面是一个示例(它使用一个从宏变量传入的输入参数)
也许可以查看SQL传递功能?
%let a = 'ddd';
proc sql;
connect to oracle as ora2 (user=xxx password=xxx path="xxx");
select * from connection to ora2 (
SELECT test_fun(p_a => &a.) FROM dual
);
disconnect from ora2;
run;