oracle游标取第一条数据,oracle通过游标取数据

CREATE OR REPLACE PACKAGE PKG_DNBILL IS

TYPE PC_RESULT IS REF CURSOR; -- 定义结果集返回值类型

/*导入钱清除数据*/

PROCEDURE PRO_CLEARIMPORT(

PS_KEY VARCHAR2,PS_DN_NO VARCHAR2,PC_RESULT OUT PC_RESULT

);

END PKG_DNBILL;

CREATE OR REPLACE PACKAGE BODY PKG_DNBILL IS

/*导入钱清除数据*/

PROCEDURE PRO_CLEARIMPORT(

PS_KEY VARCHAR2,PC_RESULT OUT PC_RESULT

)

IS

CT NUMBER;

VS_DN_ID VARCHAR2(100);

BEGIN

/*清除生成的dn数据*/

IF PS_DN_NO IS NOT NULL THEN

SELECT MAX(T.BILL_ID) INTO VS_DN_ID FROM APP_SCMWMS.ST_DN_HEAD T WHERE T.BILL_NO=PS_DN_NO;

DELETE FROM APP_SCMWMS.ST_DN_DETAIL T WHERE T.BILL_ID=VS_DN_ID;

END IF;

/*清除导入数据*/

DELETE FROM APP_SCMWMS.ST_DNIMPORT_MOBILE T WHERE T.KEY_ID=PS_KEY;

IF (sql%ROWCOUNT = 1) THEN

CT := 1;

ELSIF (sql%ROWCOUNT != 1) THEN

CT := 0;

end if;

OPEN PC_RESULT FOR SELECT CT FROM DUAL;

END;

END PKG_DNBILL;

///

/// 导入前清除数据

///

///

///

///

public static int ClearData(string cacheKey,string dnNo,OracleTransaction tran){

OracleCommand com = tran.Connection.CreateCommand();

com.Transaction = tran;

com.CommandType = CommandType.StoredProcedure;

com.CommandText = "APP_SCMWMS.PKG_DNBILL.PRO_CLEARIMPORT";

OracleParameter[] Parames=new OracleParameter[3];

Parames[0] = new OracleParameter("PS_KEY",OracleType.VarChar);

Parames[0].Direction = ParameterDirection.Input;

Parames[0].Value = cacheKey;

Parames[1] = new OracleParameter("PS_DN_NO",OracleType.VarChar);

Parames[1].Direction = ParameterDirection.Input;

Parames[1].Value = dnNo;

Parames[2] = new OracleParameter("PC_RESULT",OracleType.Cursor);

Parames[2].Direction = ParameterDirection.Output;

com.Parameters.AddRange(Parames);

DataTable table = new DataTable();

OracleDataAdapter da1 = new OracleDataAdapter(com);//取出数据

da1.Fill(table);

return Convert.ToInt32(table.Rows[0][0]);

}

总结

以上是编程之家为你收集整理的oracle通过游标取数据全部内容,希望文章能够帮你解决oracle通过游标取数据所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值