存储过程如何返回值?
CREATE OR REPLACE PROCEDURE testp1
AS
Begin
insert into my_test_tab values('a2a1','a21a',2141);
select 1 from dual
End testp1;
不知道存储过程如何返回值的? 多了句 select 1 from dual ,结果编译不能通过。
有办法返回1个值么?
问题点数:55、回复次数:6Top
1 楼bluecocoqd(小骗骗)回复于 2005-04-02 12:47:02 得分 15
create or replace procedure test_1 ( as_id in varchar2,
as_name in varchar2,
ai_retnum out number,
as_retstr out varchar2,
) is
这样利用出参来返回值Top
2 楼dxhdxh(anyduan)回复于 2005-04-02 12:53:31 得分 10
CREATE OR REPLACE PROCEDURE testp1 s1 in varchar2,
s2 in number,
ret_1 out number,
ret_2 out varchar2) is
Begin
insert into my_test_tab values(s1,s2,s3);
ret_1=23;
ret_2='ooo';
End testp1;Top
3 楼yejianwind(啸风)回复于 2005-04-02 14:28:20 得分 10
再参数中用IN 表示是传入参数,OUT表示传出参数,一般情况下你可以用 XXX OUT NUMBER,XXX OUT VARCHAR2...如果想返回一个数据集就要定义一个游标类型,然后返回这个游标类型。Top
4 楼dinya2003(OK)回复于 2005-04-02 14:59:21 得分 10
这里有一篇文章, C#执行存储过程的,有返回值的, 楼主可以参考一下.
http://blog.csdn.net/dinya2003/archive/2004/11/05/169146.aspxTop
5 楼happya3000(清凉油)回复于 2005-04-03 13:36:44 得分 0
多谢几位,请问为什么还是有报错呢?解决马上给分
SQL> exec testp1;
begin testp1; end;
ORA-06550: 第 1 行, 第 7 列:
PLS-00306: 调用 'TESTP1' 时参数数量或类型错误
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
create or replace procedure testp1(ret_2 out Varchar2) Is
begin
ret_2 := 'ddd2';
End testp1;
Top
6 楼creativet(tao)回复于 2005-04-03 21:38:35 得分 10
好像使用SQL>set feedback on;就可以了。Top
相关问题
- 存储过程如何返回值呢?
- SqlDataReader的sqlCommand是存储过程,如何取得存储过程的返回值?
- 如何在C#中返回存储过程的返回值?
- 在VB中如何通过ADO调用SQLSERVER的存储过程,并获得存储过程的返回值??
- 三层中,客户端如何接收服务器调用存储过程后存储过程的返回值
- 如何在pb中得到sqlserver7的存储过程中返回值(存储过程中包含了backup)
- 请问vc这样执行存储过程,那么,如何读取该存储过程的返回值呢?
- 如何在存储过程里执行别另一个存储过程,并得到另一个存储过程返回的值?
- 如何在PB里得到MSSQL存储过程的返回值??
- 用 ADODB.Connection 如何得到存储过程的返回值?




