欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

oracle 中含有输出参数的存储过程的使用

更新时间: 2014-01-05 02:14:29 责任编辑: Author_N1

 

oracle 中带有输出参数的存储过程的使用

create table userinfo
(
   userid number(10) primary key,
   
   username nvarchar2(20) not null,
   
   userpwd nvarchar2(20) not null,
   
   usertitle nvarchar2(50),
   
   usermes nvarchar2(100)
    
);

create table userMes
(
    umid integer primary key,
    userid number(10) references userinfo(userid),
    umname nvarchar2(20)
);

--创建一个存储过程

create or replace procedure proc_createuserinfo
(
    username in varchar2 default null,
    userpwd  in varchar2 default null,
    usertitle  in varchar2 default null,
    usermes  in varchar2 default null,
    uusermes in varchar2 default null,
    result   out number
)
is
   uuid number:=seq_uid.nextval;

begin 
  insert into userinfo(userid,username,userpwd,usertitle,usermes) values(uuid,username,userpwd,usertitle,usermes);
  insert into usermes(umid,userid,umname) values(seq_mid.nextval,uuid,uusermes);
commit;
result:=sqlcode;;
end;  



上面的代码是我创建了俩张表和一个存储过程,存储过程里面有一个输出参数,我要怎么才可以让这个输出信息显示出来呢?就像查询一张表一样可以显示查询出的数据,

另外我在c#中又要怎么使用这个存储过程呢,输出参数如何接收呢?

谢谢各位了!
--参考方法--
你调用这个存储过程,就会返回啊
--参考方法--
用DataSet接收就可以了,DataRead也可以
--参考方法--
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

你调用这个存储过程,就会返回啊


我要在plsql中输出,调用了没有输出呀!


看看你是怎么调用的?




declare
  v_shuchu number;

begin
  proc_createuserinfo('qq','yy','vv','ww','ee',v_shuchu);
  dbms_output.put_line(v_shuchu);
end;



是这样的,为什么我是插入俩条数据,输出的信息是0呢?


sqlcode为0标示执行成功啊。楼主是需要输出什么? 执行成功的条数吗?

如果是需要执行成功的条数,如下红色标识:

begin   insert into userinfo(userid,username,userpwd,usertitle,usermes) values(uuid,username,userpwd,usertitle,usermes);   insert into usermes(umid,userid,umname) values(seq_mid.nextval,uuid,uusermes);
result := sql%rowcount;
 commit; 
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:14:29
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7399/
本文WWW.DOC100.NET DOC100.NET版权所有。