Brincando com projetos de banco de dados, o Visual Studio gerou um script de alteração com as seguintes linhas:
GO
SET ANSI_NULLS, ANSI_PADDING --etc.;
SET NUMERIC_ROUNDABORT OFF;
GO
:setvar DatabaseName "Foo"
:setvar DefaultFilePrefix "Foo"
:setvar DefaultDataPath ""
:setvar DefaultLogPath ""
GO
:on error exit
GO
:setvar __IsSqlCmdEnabled "True"
GO
IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True'
BEGIN
PRINT N'SQLCMD mode must be enabled to successfully execute this script.';
SET NOEXEC ON;
END
GO
USE [$(DatabaseName)];
GO
CREATE NONCLUSTERED INDEX [SomeIndex]
ON [dbo].[SomeTable]([SomeColumn] ASC);
GO
Qual é o significado dos dois pontos no início das linhas? Esta pergunta do Stackoverflow diz que os dois pontos são para variáveis de ligação, mas o que os dois pontos :on error exit
fazem?