CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

请大侠们帮我看看一个存储过程

楼主j__jake(人称大侠,但偶不是)2006-05-02 08:37:56 在 .NET技术 / ASP.NET 提问

CREATE   PROCEDURE   WF_ADDROLE   @ClassName   nvarchar(50)  
  as  
  declare   @ExistFlag   int  
  select   @ExistFlag=RoleID   from   WF_Role   where   RoleName=@ClassName  
   
  if   @Exist   is   null  
  begin  
          insert   into   WF_role(RoleName)   values(@ClassName)  
          select   @@IDENTITY   as   returnFlag  
  end  
  else  
          select   0   as   returnFlag  
   
  RETURN   0  
  GO  
   
  请问RETURN   0是什么意思,还有我看到很多存储过程无论是需要返回值还是不需要都有一个RETURN   0  
  这个东西是做什么用的  
  这里明显需要返回的是returnFlag     怎么不用RETURN   returnFlag???  
  我翻了好几本书也没找到有介绍这个东西的  
  小弟初学,很多不懂,成心请教,谢谢各位!  
  问题点数:20、回复次数:4Top

1 楼goodtoyou(打我我投降)回复于 2006-05-02 12:21:54 得分 10

RETURN语句用于无条件的退出存储过程。RETURN之后的任何语句都不再执行。RETURN语句可以给调用语句返回一个值,但不能返回NULL值。SQL   Server经常为存储过程返回一个状态值。如果成功地执行,则返回一个0,如果出现了错误,则返回一个为负数的错误码。    
   
  RETURN返回的是存储过程的运行状态,returnFlag已经在select   @@IDENTITY   as   returnFlag这样的语句里返回了Top

2 楼tomtown530(梦想一定会实现!)回复于 2006-05-02 12:38:26 得分 10

RETURN   0是无条件退出存储过程,表示这个存储过程已经结束,指示系统退出。  
  而存储过程返回的值(一个记录集、一个字段、或者一个数字)是在select   @@IDENTITY   as   returnFlag或select   0   as   returnFlag里返回了,而不是return   0返回给调用存储过程的cmd.  
  Top

3 楼j__jake(人称大侠,但偶不是)回复于 2006-05-02 18:51:42 得分 0

非常感谢goodtoyou(ALLLLL),tomtown530(梦想一定会实现!)   2位朋友的回答..  
  现在明白了,谢谢!Top

4 楼webwalker(Jason.Xu@BenQ.com)回复于 2006-05-02 22:28:21 得分 0

yesTop

相关问题

关键词

得分解答快速导航

  • 帖主:j__jake
  • goodtoyou
  • tomtown530

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

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