看到RETURN的返回值不同,代表意义各不同,能过查找,得出以下结论:
RETURN语句会导致过程立即退出。考察下面的例子:
CREATE PROCEDURE check_tables
(@who VARCHAR(30))
AS
IF EXISTS(SELECT name FROM Philosophers WHEREname=@who)
BEGIN
PRINT“In the Philosophers Table”
RETURN
END
IF EXISTS(SELECT author_name FROM Authors WHEREauthor_name=@who)
BEGIN
PRINT“In the Authors Table”
RETURN
END
PRINT“Not in any tables!”
RETURN
该过程检查了两个表以判断一个人是否是哲学家或作者。假如提供的名称即不是哲学家也不是作者,打印文本“Not in any tables!”。RETURN语句会在一旦存在匹配时,立刻退出该过程。
比如,假定你使用参数“Plato”来执行该过程。首先使用表Philosophers来检测是否存在“Plato”。由于该名字存在于该表中,所以过程打印文本”In the Philosophers table”,然后过程在执行到RETURN语句时,退出。
注意
你可以使用RETURN语句结束任何过程。这实际上并不完成任何事情。因为在任何情况下,过程总是要退出的。
当你在存储过程而不是在批处理中使用RETURN语句时ÿ