String dinâmica maior que 4000 caracteres no SQL Server 2000

Publicado: 5 de julho de 2010 em T-SQL
Tags:
Ae galera tô meio longe do blog há algum tempo mas agora as coisas estão menos "pesadas" e vou tentar atualizá-lo com mais freqüência. Uma dica rápida é a execução de SQL Dinâmico com mais de 4000 caracteres no SQL Server 2000.

Em alguns momentos como geração de scripts ou outras tarefas administrativas nós precisamos elaborar scripts que ocupam mais de 4 mil caracteres… No entanto, no SQL Server 2000 a procedure sp_executesql suporta apenas nvarchar(4000) no máximo. Como o 2000 ainda não possuia o tipo de dados varchar(max), o uso da procedure citada para scripts grandes não é possível.

No entanto, podemos usar a EXEC() concatenando variáveis. Vejam abaixo que estou executando o comando com duas variáveis de 8000 cada:

DECLARE @CMD1 VARCHAR(8000)
DECLARE @CMD2 VARCHAR(8000)

SET @CMD1 = ‘PRINT ”’
SET @CMD2 = REPLICATE(‘A’, 7999) + ””

EXEC(@CMD1 + @CMD2)

Post curto mas útil em muitos casos.

Abraço e até a próxima.

Demétrio Silva

Anúncios
comentários
  1. Excelente post Demétrio! Grande abraço!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s