Eu preciso colocar o resultado de uma consulta em uma variável.
Apenas uma consulta, funciona com sucesso
DECLARE @count INT = (
SELECT count (*)
FROM [AdventureWorks].[Person].[Address]
);
select @count;
Mas se eu precisar usar a WITH
instrução em uma consulta, recebo um erro de sintaxe
DECLARE @count INT = (
WITH person_address (id)
as (
SELECT AddressID
FROM [AdventureWorks].[Person].[Address]
)
SELECT count (*)
FROM person_address
);
select @count;
Msg 156, Level 15, State 1, Line 2 Sintaxe incorreta perto da palavra-chave 'WITH'.
Msg 319, Level 15, State 1, Line 2 Sintaxe incorreta perto da palavra-chave 'with'. Se esta instrução for uma expressão de tabela comum, uma cláusula xmlnamespaces ou uma cláusula de contexto de controle de alterações, a instrução anterior deverá ser encerrada com um ponto e vírgula.
Msg 102, Level 15, State 1, Line 9 Sintaxe incorreta perto de ')'.
Como coloco o valor da consulta em uma variável se a WITH
cláusula for usada na instrução SQL?
Atribua a variável na última consulta.
db<>fique aqui