sql 存储过程中return的使用方法?
RETURN 语句无条件终止查询、存储过程或批处理。存储过程或批处理中 RETURN 语句后面的语句都不执行。
当在存储过程中使用 RETURN 语句时,此语句可以指定返回给调用应用程序、批处理或过程的整数值。如果 RETURN 未指定值,则存储过程返回 0。
大多数存储过程按常规使用返回代码表示存储过程的成功或失败。没有发生错误时存储过程返回值 0。任何非零值表示有错误发生。
调用存储过程的应用程序可以将返回代码所对应的参数标记与整型变量绑定。
扩展资料:
如果用户定义一个函数有返回类型,可以像下面这样调用:
int func(){int value;………………return value;}int main(){int intvalue;intvalue=func();…………return 0;}
1、在返回类型是char的函数中,return后应该是char类型的值。
2、在返回类型是int的函数中,如果是要停止函数的调用,最好应该为0。
3、在返回类型是结构类型的函数中,return后应该是结构的一个实例对象。
总之,函数定义为什么样的返回类型,该函数中return后就应该是相应类型的值。
如果实在不需要函数返回什么值,就需要用void声明其类型。
补充:如果用户函数名前有返回类型定义,如int,double等就必须有返回值,而如果是void型,则可以不写return,但这时即使写了也无法返回数值。
参考资料来源:百度百科-return (C语言语句)
在sql Server中~如何利用RETURN返回存储过程的值~
create proc sp_CourseFeedBack_Insert
(
----报班人数
@CourseReg int=0,
---退班人数
@CourseWithDrawNum int=0,
---赠班人数
@CourseGive int=0,
---缺勤人数
@CourseAbsence int=0,
---实际上课人数
@CourseReal int=0,
---调查表份数
@QuestionnaireNo int=0,
---平均分
@AverageScore decimal,
---退班原因
@CourseQuitReason varchar(100)='',
---备注
@CourseComment varchar(100)='',
---图片地址
@CourseImageURL varchar(100)='',
---学员意见
@CourseStuSuggest varchar(100)='',
@TeacherClassID int
)
as
begin
declare @StateID int
declare @CourseFeedBackID int
--取出@stateID
exec sp_StateTmp_Insert @StateID=@StateID output
insert into tb_Course_FeedBack
(
StateID,
TeacherClassID ,
CourseReg,
CourseWithDrawNum,
CourseGive,
CourseAbsence,
CourseReal,
QuestionnaireNo,
AverageScore,
CourseQuitReason,
CourseStuSuggest,
CourseComment,
CourseImageURL,
CourseSubmitTime,
isFilled
)
values
(
@StateID,
@TeacherClassID,
@CourseReg,
@CourseWithDrawNum,
@CourseGive,
@CourseAbsence,
@CourseReal,
@QuestionnaireNo,
@AverageScore,
@CourseQuitReason,
@CourseStuSuggest,
@CourseComment,
@CourseImageURL,
getdate(),
0
)
SET @CourseFeedBackID = SCOPE_IDENTITY()
return @CourseFeedBackID
end
--创建返回stateID的存储过程
create Proc sp_StateTmp_Insert
@StateID int output
as
begin
insert into tb_State(isSend) values(0)
SET @StateID = SCOPE_IDENTITY()
end