0
我试图执行此过程:动态查询错误PLSQL
CREATE OR REPLACE PROCEDURE SP_DYNAMIC
AS
tbl_list VARCHAR2(2000);
DBLINK VARCHAR2(100);
V_SQL VARCHAR2(1000);
BEGIN
DBLINK := 'SOME_LINK';
V_SQL := 'SELECT table_name,table_owner FROM [email protected]:DB_LINK';
EXECUTE IMMEDIATE V_SQL USING DBLINK;
COMMIT;
Dbms_Output.PUT_LINE (TBL_LIST);
END;
但是当我执行存储过程我得到的错误:
ORA-01729: database link name expected
ORA-06512: at "SYSTEM.SP_DYNAMIC"
ORA-06512: at line 2
有人可以帮助我,我是什么在这里做错了吗?
Fuether这个答案...你可以dba_tab_modifications结果使用DMBS_ASSERT.QUALIFIED_SQL_NAME @' || DB_LINK; “为了尽量减少sql注入漏洞的字符串部分 – James
谢谢,@詹姆斯 - 这是我没有意识到的。 – Boneist