Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 限制SQLServer2008查询执行_Mysql_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

Mysql 限制SQLServer2008查询执行

Mysql 限制SQLServer2008查询执行,mysql,sql,sql-server,sql-server-2008,Mysql,Sql,Sql Server,Sql Server 2008,在MySQL中,如果我在一个页面上有多个查询,并且每个查询都以一个;这将防止运行下一个查询(意外运行)。这确保只运行该查询 SQLServer2008中是否有类似的功能?那么,如果我在一个页面上有多个查询,是否有一个字符或运算符可以添加到查询的末尾,从而停止查询执行,从而只运行该查询 我知道通常只有突出显示的查询才会运行,但我看到整个页面都被执行了(几乎总是由于一些意外事件),因此我正在寻找一种方法来保护/防止任何意外事件的发生 编辑:我正在使用SQLServerManagementStudio

在MySQL中,如果我在一个页面上有多个查询,并且每个查询都以一个;这将防止运行下一个查询(意外运行)。这确保只运行该查询

SQLServer2008中是否有类似的功能?那么,如果我在一个页面上有多个查询,是否有一个字符或运算符可以添加到查询的末尾,从而停止查询执行,从而只运行该查询

我知道通常只有突出显示的查询才会运行,但我看到整个页面都被执行了(几乎总是由于一些意外事件),因此我正在寻找一种方法来保护/防止任何意外事件的发生

编辑:我正在使用SQLServerManagementStudio(新查询页面)


谢谢

如果我正确理解你的问题,你可以在
RAISERROR('Oops',18,1)

在每个查询之间。这将在运行第一个(突出显示的)查询后停止执行。

有多种方法可以做到这一点。我以前使用过的一些方法有:

使用
返回

 Select * From Table Where Foo = 'Bar'
 Return 
 Delete Table Where Foo = 'Bar'
RETURN
将在该点结束批处理,从而使第一个查询运行,而不是第二个查询

使用NOEXEC:

Set NoExec Off
Select * From Table Where Foo = 'Bar'

Set NoExec On
Delete Table Where Foo = 'Bar'
NOEXEC
将在其处于活动状态时禁用所有sql语句的执行

一些好的老式评论:

Select * From Table Where Foo = 'Bar'
--Delete Table Where Foo = 'Bar'

您还可以尝试使用其他方法(例如
RAISERROR
),但一般来说,最好的预防措施是尽可能将脚本分为不同的文件,并注意执行的内容。通过突出显示或在按F5之前查看文件。

在此上下文中,什么是页面?如果您正在使用特定的工具或实用程序来执行查询,那么您需要为这样的问题识别它们。