存贮过程最后的一句 return(0) 或是 return(1) 的作用是什么呢? 存贮过程最后的一句 return(0) 或是 return(1) 的作用是什么呢?---------------------------这个返回值是给谁用的呢?谁接收这个值呢?一般用于哪种情况下,即哪种情况下,会用到这个返回值。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 B. 返回状态代码下例检查指定作者所在州的 ID。如果所在的州是加利福尼亚州 (CA),将返回状态代码 1。否则,对于任何其它情况(state 的值是 CA 以外的值或者 au_id 没有匹配的行),将返回状态代码 2。CREATE PROCEDURE checkstate @param varchar(11)ASIF (SELECT state FROM authors WHERE au_id = @param) = 'CA' RETURN 1ELSE RETURN 2下例显示从 checkstate 执行中返回的状态。第一个显示的是在加利福尼亚州的作者;第二个显示的是不在加利福尼亚州的作者,第三个显示的是无效的作者。必须先声明 @return_status 局部变量后才能使用它。DECLARE @return_status intEXEC @return_status = checkstate '172-32-1176'SELECT 'Return Status' = @return_statusGO下面是结果集:Return Status ------------- 1 再执行一次查询,指定一个不同的作者编号。DECLARE @return_status intEXEC @return_status = checkstate '648-92-1872'SELECT 'Return Status' = @return_statusGO下面是结果集:Return Status ------------- 2再执行一次查询,指定另一个作者编号。DECLARE @return_status intEXEC @return_status = checkstate '12345678901'SELECT 'Return Status' = @return_statusGO下面是结果集:Return Status ------------- 2 return 终止当前程序, 立即返回。 但(0)和(1)完全在MS SQL中没用的。 0 同 false 1 同 true 如果函数返回的是bool值, 0 和 1 就很常见了。 可是前台无法接收这个返回值呀,前台可以通过output参数来接收一个存贮过程的返回值,但是用return返回的值如何接收呢?在存贮过程中是可以接收的。假如存贮过程为prog1declare @i intexec @i=prog1print @i 你就把它当SELECT语句就可以了。。 return_value的值为0,说明存储过程执行成功,如果不是0则代表发生错误的错误号,注意不全是SQL内部的错误号,而是ADO定义的错误号。 一点建议:在存储过程中,建立一变量作为输出变量,用它来监控存储过程执行状态,不仅可以控制执行的错误还可以控制业务逻辑的错误。 windows server 2003 r2 enterprise edition 装Sqlserver 2000 帮忙看一sql语句 使用distinct的迷惑 SQL SERVER 数据库里有很多个数据库,怎么一次把所有的数据库都备份 求助~~文件组问题~~急~~~~ 日期格式如何转换? 请教大侠利用SQL语句如何建立可连锁更新和删除相关记录的外键约束? 如何自动读取数据库新表中的数据? 请指点 向高手求经验:多表联合查询的 sql server2000 安装文件和数据文件都在D盘 想把数据文件都迁移到E盘 如何实现 谢谢 求sql,分组求最大值
下例检查指定作者所在州的 ID。如果所在的州是加利福尼亚州 (CA),将返回状态代码 1。否则,对于任何其它情况(state 的值是 CA 以外的值或者 au_id 没有匹配的行),将返回状态代码 2。CREATE PROCEDURE checkstate @param varchar(11)
AS
IF (SELECT state FROM authors WHERE au_id = @param) = 'CA'
RETURN 1
ELSE
RETURN 2下例显示从 checkstate 执行中返回的状态。第一个显示的是在加利福尼亚州的作者;第二个显示的是不在加利福尼亚州的作者,第三个显示的是无效的作者。必须先声明 @return_status 局部变量后才能使用它。DECLARE @return_status int
EXEC @return_status = checkstate '172-32-1176'
SELECT 'Return Status' = @return_status
GO下面是结果集:Return Status
-------------
1 再执行一次查询,指定一个不同的作者编号。DECLARE @return_status int
EXEC @return_status = checkstate '648-92-1872'
SELECT 'Return Status' = @return_status
GO下面是结果集:Return Status
-------------
2再执行一次查询,指定另一个作者编号。DECLARE @return_status int
EXEC @return_status = checkstate '12345678901'
SELECT 'Return Status' = @return_status
GO下面是结果集:Return Status
-------------
2
可是前台无法接收这个返回值呀,前台可以通过output参数来接收一个存贮过程的返回值,但是用return返回的值如何接收呢?在存贮过程中是可以接收的。假如存贮过程为prog1
declare @i int
exec @i=prog1
print @i
一点建议:在存储过程中,建立一变量作为输出变量,用它来监控存储过程执行状态,不仅可以控制执行的错误还可以控制业务逻辑的错误。