读书人

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

发布时间: 2013-10-16 11:29:46 作者: rapoo

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#中又要怎么使用这个存储过程呢,输出参数如何接收呢?

谢谢各位了! 存储 oracle 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;

读书人网 >oracle

热点推荐