Usuário com melhor resposta
UPDATE FROM usando table variables

Pergunta
-
Bom dia!
Tenho um UPDATE a realizar numa tabela do banco de dados e necessito incluir um JOIN a outra tabela para atribuir os devidos valores nas colunas. A consulta tem a seguinte cara:
UPDATE address
SET cd_user_creation = @tblIdsUsuarios.id_login_ok
FROM address, @tblIdsUsuarios
WHERE address.cd_user_creation = @tblIdsUsuarios.id_login_errado
Até aí nenhum problema, só que a tabela desse JOIN é uma table variable... a consulta em si não tem problema, está com sintaxe correta; entretanto tenho o seguinte erro:
Server: Msg 137, Level 15, State 2, Line 47
Must declare the variable '@tblIdsUsuarios'.
Entretanto a tabela está declarada corretamente! :(
Será que o SQL Server não permite fazer UPDATES desse gênero com table variables? Testei com tabelas temporárias e funcionou, só que o desempenho degradou bastante pois são muitos registros.
[]'s
Respostas
-
e so colocar um alias para a var table
UPDATE address
SET cd_user_creation = @vatable.id_login_ok
FROM address, @tblIdsUsuarios as vatable
WHERE address.cd_user_creation = vatable.id_login_erradomais ficaria melhor com join
UPDATE address
SET cd_user_creation = @vatable.id_login_ok
FROM address inner join @tblIdsUsuarios as vatable on address.cd_user_creation = vatable.id_login_erradoabs
Todas as Respostas
-
-
e so colocar um alias para a var table
UPDATE address
SET cd_user_creation = @vatable.id_login_ok
FROM address, @tblIdsUsuarios as vatable
WHERE address.cd_user_creation = vatable.id_login_erradomais ficaria melhor com join
UPDATE address
SET cd_user_creation = @vatable.id_login_ok
FROM address inner join @tblIdsUsuarios as vatable on address.cd_user_creation = vatable.id_login_erradoabs
-
-