您的位置:首页 > 数据库 > SQL

GO ‘N’ Times,SQL执行同一个语句多次

2013-07-25 15:31 549 查看
GO (Transact-SQL)

 

语法

 

GO [count]

参数

count

为一个正整数。 GO 之前的批处理将执行指定的次数。

 

源文档 <http://msdn.microsoft.com/zh-cn/library/ms188037.aspx>

 

GO is not a Transact-SQL statement; it is a command recognized by the sqlcmd and osql utilities and SQL Server Management Studio Code editor.

SQL Server utilities interpret GO as a signal that they should send the current batch of Transact-SQL statements to an instance of SQL Server. The current batch of statements is composed of all statements entered since the last GO, or since the start of the ad hoc session or script if this is the first GO.

A Transact-SQL statement cannot occupy the same line as a GO command. However, the line can contain comments.

The scope of local (user-defined) variables is limited to a batch, and cannot be referenced after a GO command.

 

---- GO后面,不可以使用参数,只能硬编码,GO一个正整数次数。

 

源文档 <http://msdn.microsoft.com/zh-cn/library/ms188037.aspx>

下面是一个例子:

One unbelievable tip for the day for T-SQL users. What a “GO” statement do in T-SQL.

By definition it is a batch separator. It will run a batch and commit it. But along with that it also accepts one parameter which tells the SQL engine basically how many times to do the job.

For Example,

SELECT * FROM   sys.objects;
GO 3

 

It will show the output THREE times  :)

 

Next Example,

 
CREATE TABLE #ProductTable
(
    ID   INT          IDENTITY (1, 1),
    Name VARCHAR (50)
);
 
 
GO
INSERT  INTO #ProductTable (Name)
VALUES                    ('Office XP');
 
GO 3
 
SELECT *
FROM   #ProductTable;

OUTPUT





 

源文档 <http://www.sqllion.com/2011/09/go-n-times/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: