表A结构:
物品NO
物品名
...
...
...
...在WEB画面上,把它一览显示出来,每一条前面有CHECKBOX可以勾选现在需要把勾选的多个物品NO传到数据库里,通过查询语句查询出来,如'ABC1234000','ABD1435666','BDE1234236'查询语句类似于这样的:SELECT * FROM 表A WHERE 物品NO IN '传进来的多个物品NO'.
现在的问题是,这个'传进来的多个物品NO'怎么写?我是这么写的,不行:
P_NO (传进来的多个物品NO)SELECT * FROM 表A WHERE 物品NO IN (P_NO)可能ORACLE把它认为是SELECT * FROM 表A WHERE 物品NO IN ("'ABC1234000','ABD1435666','BDE1234236'")即作为一个整体的字符串处理了.
物品NO
物品名
...
...
...
...在WEB画面上,把它一览显示出来,每一条前面有CHECKBOX可以勾选现在需要把勾选的多个物品NO传到数据库里,通过查询语句查询出来,如'ABC1234000','ABD1435666','BDE1234236'查询语句类似于这样的:SELECT * FROM 表A WHERE 物品NO IN '传进来的多个物品NO'.
现在的问题是,这个'传进来的多个物品NO'怎么写?我是这么写的,不行:
P_NO (传进来的多个物品NO)SELECT * FROM 表A WHERE 物品NO IN (P_NO)可能ORACLE把它认为是SELECT * FROM 表A WHERE 物品NO IN ("'ABC1234000','ABD1435666','BDE1234236'")即作为一个整体的字符串处理了.
你最好把具体程序帖出来大家看看,才好帮你解决。
而传给它的值是"'ABC1234000','ABD1435666','BDE1234236'"?
那你可以看一下这篇文章
http://www.bitscn.com/oracle/pl/200604/16887.html
将no存储在一个表变量里面,然后用exists(select 1from 表变量 where 条件)
condition这里应该为这样的:'1','2','3','4'...这样的组合,
最好不要用in,因为in是全表扫描,效率没有exists高!