日期:2014-05-19  浏览次数:20349 次

请问xxx.sql在查询分析器中条件判断终止执行的命令
有一个很多语句的   xxx.sql脚本
是否可以在这个脚本文件中加上某些条件判断,并且实施中途退出(不执行后续的sql脚本命令)

------解决方案--------------------
应该可以,根据某个值判断是否退出
------解决方案--------------------
加入判断条件后,return

------解决方案--------------------

select 1
return
select 2


--result
-----------
1

(所影响的行数为 1 行)

------解决方案--------------------
学习
------解决方案--------------------
if +goto
------解决方案--------------------
.......
if (@error <> ' ') goto SqlEnd
.............
.........
SqlEnd:
return
------解决方案--------------------
select 1
return --加了return,则只输出1一条.不加return,则输入1,2两条
select 2
------解决方案--------------------
RETURN
从查询或过程中无条件退出。RETURN 即时且完全,可在任何时候用于从过程、批处理或语句块中退出。不执行位于 RETURN 之后的语句。
--建立测试表
drop table tbtest
go
create table tbtest(id int)

--测试的SQL语句块
insert into tbtest
select 11
return
alter table tbtest add name varchar(10)
--测试语句块结束

--查看表
select * from tbtest
/*
id
-----------
11

(所影响的行数为 1 行)
*/
--name字段并没有增加到表中

不知道楼主是怎样测试的.
------解决方案--------------------
return 後面應該要加個返回值的吧
DECLARE @cver varchar(7)
SELECT @cver=cversion FROM sys_version
IF @cver IS NOT NULL
BEGIN
IF @cver > = '2.99 '
BEGIN
PRINT '服务器已经更新到2.99 '
RETURN 0
END
END
試試