Oracle 带输入输出参数的存储过程 并且在C#调用 用输出参数返回。
表xiaoming;表xiaoli我想做一个存储过程实现转账功能,必须用到(in,out,inout)参数。并且调用执行成功。为什么我要用in,out,inout)参数。...
表xiaoming;表xiaoli 我想做一个存储过程实现转账功能,必须用到(in,out ,in out)参数。并且调用 执行成功。为什么我要用in,out ,in out)参数。
因为我想做一个C#调用Oracle存储过程,我想用 in out返回查询到的结果集。
balanceid ID
balancenam 姓名
balance 金额
1:不要复制的。
2:不要其他例子,只要根据这两表的。
3:最好有C#调用存储过程的实例。
附加问题:in out 参数是自定义的 create TYPE 参数名 IS ref cursor这样对吗? 展开
因为我想做一个C#调用Oracle存储过程,我想用 in out返回查询到的结果集。
balanceid ID
balancenam 姓名
balance 金额
1:不要复制的。
2:不要其他例子,只要根据这两表的。
3:最好有C#调用存储过程的实例。
附加问题:in out 参数是自定义的 create TYPE 参数名 IS ref cursor这样对吗? 展开
展开全部
TYPE typecur IS REF CURSOR 要这样写。
procedure Select_xiaoming(vbalanceid in integer,vbalancenam in VARCHAR2, p_xiaoming out typecur) is
begin
open p_xiaoming for
select t.* from xiaoming t
where t.balanceid = vbalanceid
and t.balancenam = vbalancenam;
end Select_xiaoming;
更多追问追答
追问
TYPE typecur IS REF CURSOR 这样写报错无效的SQL语句 只有前面加 create才行。
而且创建的存储过程又错。存储过程是不是只能做查询?
怎么执行存储过程? call Select_xiaoming()? 怎么带参数
追答
你先在Packages目录下创建一个包,包名随便写。
CREATE OR REPLACE PACKAGE pk_XXXXXX AS
TYPE typecur IS REF CURSOR;
procedure Select_xiaoming(vbalanceid in integer,vbalancenam in VARCHAR2, p_xiaoming out typecur);
END pk_XXXXXX;
以上是Packages包的内容,开始那个是Package Bodies包体里的内容
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询