【发布时间】:2019-01-23 04:33:17
【问题描述】:
是否可以创建一个存储过程来调用 SQL 语句,其中一个参数在 select 语句中,另一个在 FROM 子句中?
在我看来这是不可能的,但我对pl/sql了解不多。
下面的代码当然不起作用。任何帮助将不胜感激。
CREATE OR REPLACE PROCEDURE procedure1 table1 VARCHAR(100)
field1 VARCHAR(100)
IS
BEGIN
FOR I IN (SELECT field1
FROM TABLE (table1)
WHERE field1 IS NOT NULL)
LOOP
DBMS_OUTPUT.PUT_LINE ('Field_name : ' || I.FIELD_NAME);
END LOOP;
END procedure1;
【问题讨论】:
-
是的,使用动态 SQL 是可能的,但是您将自己暴露在 SQL 注入攻击中
-
顺便说一下,表格有列而不是字段。