【发布时间】:2014-02-24 17:23:12
【问题描述】:
SELECT * FROM EMPLOYEE
WHERE EMP_NAME IN (:EMP_NAME);
这是我的查询,现在我想将 EMP_NAME 参数作为字符串列表发送。
当我在 SQL 开发人员中运行此查询时,它被要求发送 EMP_NAME 作为参数,现在我想发送“Kiran”、“Joshi”(基本上,我想获取员工姓名为 Kiran 或 Joshi 的员工的详细信息. 查询执行过程中应该如何传值?
当我单独使用值 Kiran 时它可以工作,但是当我与任何其他字符串连接时它不会工作。这有什么指点吗?
我试过下面的那个
'基兰','乔希'
上述方法不起作用,因为这是一个单一的参数,它会尝试名称为'Kiran',Joshi'的员工,但不会出现。可以理解,但是为了实现这个东西,我要怎么做呢?
任何帮助将不胜感激。
【问题讨论】:
-
您可以通过创建一个以参数为 EMP_NAME 的函数或过程来尝试。
-
Kedarnath,感谢您的快速回复,但您能帮我指导我如何做到这一点吗?
-
欢迎您,我已经很久没有使用 PL Sql 部分了。但是你可以谷歌这部分。请记住,这很容易没有那么难:)
-
这里的重点是我从 Java 层调用这个查询,我想在这种情况下避免 SQL 注入。因此,我采用了参数方法。但是如何在作为动态形成的参数发送时实现这一点?
-
运行时需要多少个参数?
标签: oracle