当前位置: 代码迷 >> PB >> 关于PB中用SQL语句in的用法,该怎么解决
  详细解决方案

关于PB中用SQL语句in的用法,该怎么解决

热度:50   发布时间:2016-04-29 06:05:05.0
关于PB中用SQL语句in的用法
in在PB程序(数据库是ORACLE)查询中怎么写嗯:比如
select count(*) into:ll_cnt from id in(‘a’,‘b’,‘c’,‘d’);PB调试是报错的,该怎么样写嗯
select count(*) into:ll_cnt from id in(:ls_id); 也报错该怎么样写嗯
------解决方案--------------------
楼上from 后面写少了表名
------解决方案--------------------
缺少表名,另外这种in操作,用变量传入行集,写嵌入式语句比较麻烦。因为数组是不能直接作为嵌入式语句的参数的。
方案1:
使用动态SQL语句(Dynamic SQL Format 3 SQL statement),具体语法查看帮助
方案2:
利用datawindow,因为datawindow是支持传输数组参数的,参数类型选择 String Array
语句为:select ....... where id in (:参数)
然后: string ls_parm[]
       给数组赋值。。。。。
       dw.retrieve(ls_parm)


------解决方案--------------------

------解决方案--------------------
select count(*) into :ll_cnt from 表 where id in(‘a’,‘b’,‘c’,‘d’);
------解决方案--------------------
看样子楼主的引号是全角的
------解决方案--------------------
引用:
不好意思,写错了,有本来有表名就报错了的
select count(1) into:ll_cnt from dd where id in('A','B','D');
select count(1) into:ll_cnt from dd where id in(:ls_id);
这样也报错。。。


发贴最主要的是:
要把报错贴出来,因为谁也不晓得你的错到底是什么
可能是表不存在,也可能是字段类型不对,也可能是列名不存在....

  相关解决方案