【发布时间】:2018-10-23 17:36:46
【问题描述】:
我需要一个带有动态选择语句的存储过程,在我的例子中,只在选择中添加所需的列名。这是我创建的,但我不确定 SQL 注入是否安全:
CREATE OR REPLACE PROCEDURE MySchema.Search(
columns IN VARCHAR2,
res_out OUT SYS_REFCURSOR)
IS
BEGIN
OPEN res_out FOR
'SELECT ' || columns ||' FROM MySchema.Table1';
END Search;
这很好还是不安全?在阅读所有示例时,我没有注意到任何像这样简单的事情,但它确实有效。如果 SQL 注入不安全,请告诉我应该怎么做。提前感谢您的帮助!
【问题讨论】:
标签: stored-procedures oracle11g