CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  基础和管理

存储过程如何返回值?

楼主happya3000(清凉油)2005-04-02 12:16:49 在 Oracle / 基础和管理 提问

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 如何得到存储过程的返回值?

关键词

  • 存储过程
  • sql
  • testp
  • 值
  • 返回
  • 参数
  • ret
  • 类型
  • varchar
  • or replace procedure

得分解答快速导航

  • 帖主:happya3000
  • bluecocoqd
  • dxhdxh
  • yejianwind
  • dinya2003
  • creativet

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo