【发布时间】:2015-06-19 06:30:49
【问题描述】:
我想问一下如何将'30','31','32'传递给SQL WHERE IN子句例如
EXEC SQL DECLARE abcd CURSOR FOR SELECT Consignment FROM Transaction WHERE order_type IN (:dest)
其中 dest 将保存值 '30','31','32'。
我已经尝试过上面的例子,但它不起作用 SQL 没有返回任何结果。
【问题讨论】:
-
你知道 any 语言会在没有提示的情况下,在传递单个字符串参数的函数上决定检查该参数的内容,查找逗号,然后而是自动将其视为多个参数?我不知道,SQL 肯定不是。
-
我将 dest 创建为 ,当我打印 dest 时,我得到 '30','31','32'
-
我想问一下如何将'30','31','32'传递给EXEC SQL DECLARE abcd CURSOR FOR SELECT Consignment FROM Transaction WHERE order_type IN(:dest),其中dest将保存值 '30','31','32'
-
在您最喜欢的搜索引擎中使用问题标题将返回有用的方法。唉,没有“标准”或“简单”的方法。例如Using comma separated value parameter strings in SQL IN clauses
-
感谢您的评论。我还想告诉您,这里的 dest 是 C 字符串,如 char dest[20]={"'30','31','32'。"} ,我将其作为 order_type IN (:dest) 传递。
标签: proc