如题,Procedure中的语句: SELECT NVL(SUM(QTY),0) INTO L_TOTALQTY
FROM SALES WHERE USERID IN ( l_USERIDLots );
l_USERIDLots:='123','456','234','678';
结果出来不正确,请教各位高手如何实现??
FROM SALES WHERE USERID IN ( l_USERIDLots );
l_USERIDLots:='123','456','234','678';
结果出来不正确,请教各位高手如何实现??
解决方案 »
- Oracle 四则运算 结果的精度
- numeric or value error: character string buffer too small
- 跪求关于oracle各版本得漏洞描述!!!!!!!!!!!!!!!!!!
- 要使数据库缺省就 autocommit ON 怎么设置?
- 自動產生記錄的語句
- 触发器里面能不能做 alter table 的操作?
- 如何干净的卸载ORACLE软件!!!!!!!请高人指点
- oracle from 的东西怎么发布呀,我有代码,不知道怎么发布?
- 高分:为什么VB取不到Oracle全局临时表的数据?
- 请帮忙说明一下dual表的属性
- 求SQL语句,重复次数,在线等
- 请问oracle装在什么环境上的多?
FROM SALES WHERE USERID IN (' || l_USERIDLots || ')'l_USERIDLots:='''123'',''456'',''234'',''678'''; 然后execute immediate sql;
这样才行。 切不可execute immediate sql using l_USERIDLots;
这个语句语法应该通不过的l_USERIDLots:='123','456','234','678';
l_USERIDLots:='''123'',''456'',''234'',''678''';
l_useridlots如果是作为传入参数,可以这样:
execute immediate
'SELECT NVL(SUM(QTY),0)
FROM SALES WHERE USERID IN (' || l_USERIDLots || ')' INTO L_TOTALQTY ;
如果 userid 为 varchar 类型,
l_useridlots := '''123'',''234'',''456'',''678''';
如果 userid 为 number 类型,
l_useridlots := '123,456,234,678';
FROM SALES
where ','||l_USERIDLots||',' like '%'||','||USERID ||','||'%';
l_useridlots如果是作为传入参数,可以这样:
execute immediate
'SELECT NVL(SUM(QTY),0)
FROM SALES WHERE USERID IN (' || l_USERIDLots || ')' INTO L_TOTALQTY ;
5楼的正确。