首页 新闻 搜索 专区 学院

oracle存储过程批量删除数据

0
悬赏园豆:30 [待解决问题]

大家好,我最近在用C#访问Oracle数据库  进行数据批量删除的操作,存储过程如下,在调试过程中,程序会自动中断。

存储过程:

PROCEDURE PRO_LIST_DELETE(
IN_LIST_IDS IN NVARCHAR2,
OUT_RESULT OUT NUMBER
)AS
BEGIN
OUT_RESULT:=1;
DELETE FROM listtable WHERE ID IN( IN_LIST_IDS);
EXCEPTION WHEN OTHERS THEN
ROLLBACK;
OUT_RESULT:=0;
END PRO_LIST_DELETE;

c#代码:

OracleParameter[] op = { 
               new OracleParameter("IN_LIST_IDS",OracleType.NVarChar),
               new OracleParameter("OUT_RESULT",OracleType.Number)
                };
            op[0].Value = addressListIds;
            op[1].Direction = ParameterDirection.Output;

 

备注:ID在数据表中定义的是number型的。

请各位大侠给予指教。

< >
分享
所有回答(1)
0

动态执行删除操作

EXECUTE IMMEDIATE用'DELETE FROM listtable WHERE ID IN(' || IN_LIST_IDS || ');'

Nadim | 园豆:282 (菜鸟二级) | 2012-11-12 13:10

最后那个;是多余的。

想这样还是用绑定变量吧。

支持(0) 反对(0) lottu | 园豆:200 (初学一级) | 2014-11-14 16:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册