oracle 存储过程 传参数,如果是希望传参值也被利用起来,存储过程里面虽有IN,但OUT必不可少。
来源:互联网 发布:生物多样性监测网络 编辑:程序博客网 时间:2024/06/04 23:22
oracle 存储过程 传参数,如果是希望传参值也被利用起来,存储过程里面虽有IN,但OUT必不可少。
oracle 存储过程 传参数,如果是希望传参值也利用起来,如果在 存储过程里面该参数只写 IN,而不写OUT,那只会返回部分数据。而加上OUT,最终写成IN OUT,则完全无问题,请大家看注释部分。int point = 0; string MYSTATUS = ""; int kkk = 0; //存储过程的参数声明 OracleParameter[] parameters ={ new OracleParameter("MYMEMBER_CODE",OracleType.VarChar,50), new OracleParameter("point",OracleType.VarChar,30), new OracleParameter("MYSTATUS",OracleType.VarChar,20) }; parameters[0].Value = strvip; parameters[1].Value = point; parameters[2].Value = MYSTATUS; parameters[0].Direction = ParameterDirection.InputOutput; parameters[1].Direction = ParameterDirection.Output; parameters[2].Direction = ParameterDirection.Output; try { OracleAccess.logger.Debug(" p_GetVipBalanceStoredProcedure 执行前 " + DateTime.Now.ToLongDateString() + DateTime.Now.ToLongTimeString() + strvip ); if (exist_vipProcedure(strvip)) { YHJ_StoredProcedure.RunProcedure("p_GetVipBalanceStoredProcedure", parameters); OracleAccess.logger.Debug(" p_GetVipBalanceStoredProcedure 执行后 " + DateTime.Now.ToLongDateString() + DateTime.Now.ToLongTimeString() + strvip); kkk = Convert.ToInt32(parameters[2].Value); if (kkk >= 1) { vipinf myvipinf = new vipinf(); myvipinf.str_point = parameters[1].Value.ToString();//myvipinf.str_grade=parameters[2].Value.ToString();myvipinf.str_coupon_int=parameters[3].Value.ToString(); myvipinf.str_membercode = parameters[0].Value.ToString();//第一个参数不加OUT 只返回前5个字符,如果加了OUT则返回完整字符。 myvipinf.str_discount = "0.9"; return myvipinf; } } } catch (Exception e) { OracleAccess.logger.Debug(" p_GetVipBalanceStoredProcedure 执行前 " + DateTime.Now.ToLongDateString() + DateTime.Now.ToLongTimeString() + strvip+e.Message.ToString()); throw e; }
存储过程:
CREATE OR REPLACE PROCEDURE p_GetVipBalanceStoredProcedure ( MYMEMBER_CODE IN OUT VARCHAR2 , point OUT VARCHAR2,MYSTATUS OUT VARCHAR2 ) IS point_old INT; point_updated INT; yhjerror EXCEPTION; tempint INT; tempa INT; myresult INT;BEGIN myresult:=0;MYSTATUS:='';SELECT M.POINTS INTO point_old FROM MEMBERSHIP M WHERE TRIM(M.MEMBER_CODE) = MYMEMBER_CODE; myresult:=SQL%ROWCOUNT;point:=point_old; MYSTATUS:=myresult; IF ((myresult<>1) OR (myresult=0)) THEN BEGIN MYSTATUS:=0; end; END IF ;END p_GetVipBalanceStoredProcedure;
0 0
- oracle 存储过程 传参数,如果是希望传参值也被利用起来,存储过程里面虽有IN,但OUT必不可少。
- Oracle存储过程in、out、in out 模式参数
- Oracle存储过程in、out、in out 模式参数
- oracle存储过程IN,OUT,IN OUT参数
- oracle调用带in out参数的存储过程
- oracle 存储过程in out inout三种参数模式
- oracle 存储过程in out inout三种参数模式
- oracle存储过程,IN OUT 类型的参数
- Oracle 使用IN OUT参数创建/调用存储过程
- 存储过程,out参数
- Oracle 存储过程 调用带有 out 参数的存储过程
- oracle存储过程--参数类型研究(in,out,in out)
- oracle 存储过程 参数(in | out | in out)的使用
- Oracle基础知识3----存储过程、存储函数、out参数、包
- job 调用有参数存储过程(含out参数)
- 创建存储过程,以部门编号为参数返回该部门的人数及平均工资(返回一个值可以通过函数来实现,但如果要返回多个值,需要使用out或in out模式参数实现)
- 存储过程in和out
- ORACLE 存储过程 in 参数问题
- 通过gdb快速定位“段错误”的位置
- 欢迎使用CSDN-markdown编辑器
- 每天开电脑的第一件事
- Linux 系统分析 20150912
- CentOs安装redis
- oracle 存储过程 传参数,如果是希望传参值也被利用起来,存储过程里面虽有IN,但OUT必不可少。
- 给Zabbix一件华丽的衣服Grafana插件
- [python] 爬取乌云知识库的标题
- 复杂对象的组装与创建——建造者模式(一):游戏角色设计,建造者模式概述
- struts2加上拦截器后,表单内容不能实例化,空指针异常
- CCF-CAP 201312-2 ISBN号码 答案
- 写一个标准的c程序需要包含的头文件
- 网络流之标号法
- 我是你转身就忘的路人甲,凭什么陪你蹉跎年华到天涯?