如何在调用过程时动态传递db链接?
执行立即可行还是需要使用dbms_sql?
对于DBMS_SQL,我看到它主要用于curosrs :(
任何人都可以帮助我吗?
答案 0 :(得分:0)
您可以使用EXECUTE IMMEDIATE。像
这样的东西DECLARE
l_dblink_name VARCHAR2(30) := 'YourDBLink';
l_sql_stmt VARCHAR2(1000);
BEGIN
l_sql_stmt := 'BEGIN procedure_name@' || l_dblink_name || ' (:1, :2); END;';
EXECUTE IMMEDIATE l_sql_stmt
USING 17, 42;
END;
假设您的过程采用两个参数,并且您希望使用参数值17和42调用它。