terça-feira, 17 de agosto de 2010

Erro ao executar SQL dinâmico

Sintoma: Ao tentar executar um SQL dinâmico dentro de uma procedure, a seguinte mensagem é retornada pelo optimizer

EXEC @SQL

                ....

Server: Msg 203, Level 16, State 2, Procedure sp_calculaimposto, Line 27

The name 'INSERT INTO DBO.my_table' is not a valid identifier.

Causa:  A sintaxe EXEC @VARIAVEL executa uma procedure nomeada dentro da variável, porém no contexto da procedure analisada se deveria executar o script  atribuído a variável.

Resolução:  O trecho de código foi alterado para

EXEC (@SQL)

Mais informações: http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/Q_21376650.html

Até a próxima!

 

Nenhum comentário:

Postar um comentário

Leave your comment here!