× Linguagem de Programação ADVPL

Perguntas Auxilio com declaração no slqserver + in

Mais
10 anos 4 meses atrás #23637 por hbaldin
Bom dia Galera, estou com um duvida, se é possivel usar um In com uma variavel ...
oque acontece eh que em cada consulta haverá uma quantidade diferente de clientes assim nao podendo criar uma variável para cada.

DECLARE @cod nvarchar(50);
SET @cod = ('123622','123623','166100');

Select * from SD2010
Where D2_FILIAL ='02'
AND D2_EMISSAO ='20140602'
AND D2_CLIENTE in @cod -- --> aqui o problema ...


Vlw =D

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 4 meses atrás #23638 por hbaldin
em oracle é assim :
DEFINE cod= "('123622','123623','166100')"

Select * from SD2010
Where D2_FILIAL ='02'
AND D2_EMISSAO ='20140602'
AND D2_CLIENTE in &cod

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 4 meses atrás #23639 por kanaamlrr
Henrique,
Dessa forma acho que não é possível, porém você pode criar uma variável com seu SQL Statement e depois dar um exec nela.

Por exemplo:
DECLARE @SQL NVARCHAR(MAX);
DECLARE @COD nvarchar(50);
SET @COD = '(''123622'',''123623'',''166100'')';
SET @SQL = 'Select * from SD2010 Where D2_FILIAL =''02'' AND D2_EMISSAO =''20140602'' AND D2_CLIENTE IN '+@COD

EXEC(@SQL)


Acho que é isso.
Faz um teste ae!

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.121 segundos
Joomla templates by a4joomla