Esta postagem mostrará algumas dicas de script sobre o MS SQL Server.
1. Espere
A instrução WAITFOR é especificada com uma das duas cláusulas:
(1) A palavra-chave DELAY seguida por um período de tempo antes de concluir a instrução WAITFOR. O tempo de espera antes de preencher a declaração WAITFOR pode ser de até 24 horas. Por exemplo,
-- Aguarde dez segundos antes de executar uma instrução select
AGUARDE ATRASO '00:00:10'
Selecione EmployeeID em Northwind.dbo.Employees
(2) A palavra-chave TIME seguida por um horário de execução, que especifica a conclusão da instrução WAITFOR.
Por exemplo,
-- Espere até as 22h para realizar uma verificação no banco de dados de pubs e ter certeza de que todas as páginas estão alocadas e usadas corretamente.
Use bares
COMEÇAR
AGUARDE O HORÁRIO '22:00'
DBCC CHECKALLOC
FIM
2. Habilitar depuração SQL
-- O procedimento armazenado SP_SDIDEBUG é usado pelo SQL Server para depurar instruções Transact-SQL
Usar mestre
Conceda execução em SP_SDIDEBUG ao nome de usuário
3. Execute uma string construída dinamicamente
(1) instrução EXECUTAR
Com a instrução EXECUTE, todos os valores de parâmetro devem ser convertidos em caracteres ou Unicode e fazer parte da string Transact-SQL. Por exemplo,
DECLARE @IntVariable INT
DECLARE @SQLString NVARCHAR(500)
/* Construa e execute uma string com um valor de parâmetro. */
DEFINIR @IntVariável = 35
SET @SQLString = N'SELECT * FROM pubs.dbo.employee WHERE job_lvl = ' +
CAST(@IntVariable AS NVARCHAR(10))
EXEC(@SQLString)
/* Construa e execute uma string com um segundo valor de parâmetro. */
DEFINIR @IntVariable = 201
SET @SQLString = N'SELECT * FROM pubs.dbo.employee WHERE job_lvl = ' +
CAST(@IntVariable AS NVARCHAR(10))
EXEC(@SQLString)
(2) SP_ExecuteSQL
É recomendado usar sp_executesql em vez de usar a instrução EXECUTE para executar uma string. O suporte para substituição de parâmetros não apenas torna sp_executesql mais versátil que EXECUTE, mas também torna sp_executesql mais eficiente porque gera planos de execução com maior probabilidade de serem reutilizados pelo SQL Server.
sp_executesql suporta a configuração de valores de parâmetros separadamente da string Transact-SQL:
DECLARE @IntVariable INT
DECLARE @SQLString NVARCHAR(500)
DECLARE @ParmDefinition NVARCHAR(500)
/* Construa a string SQL uma vez. */
DEFINIR@SQLString =
N'SELECT * FROM pubs.dbo.employee WHERE job_lvl = @level'
/* Especifique o formato do parâmetro uma vez. */
SET @ParmDefinition = N'@level tinyint'
/* Executa a string com o primeiro valor do parâmetro. */
DEFINIR @IntVariável = 35
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@nível = @IntVariable
/* Executa a mesma string com o segundo valor do parâmetro. */
DEFINIR @IntVariável = 32
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@level = @IntVariable
4. SP_HelpText
Imprime o texto de uma regra, um procedimento armazenado padrão ou não criptografado, uma função definida pelo usuário, um gatilho ou uma visualização.
-- Este exemplo exibe o texto do gatilho Employee_insupd, que está no banco de dados pubs
Use bares
Executivo sp_helptext 'employee_insupd'