Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jothaz

IN dinâmico usando EXEC

Recommended Posts

Cria um clausula IN dinamicamente em uma variável e depoois executa através do EXEC.

 

create table #tab (seq int, txt varchar(10))insert into #tab (seq,txt) values (1,'A1')insert into #tab (seq,txt) values (2,'A2')insert into #tab (seq,txt) values (3,'A3')insert into #tab (seq,txt) values (4,'A4')insert into #tab (seq,txt) values (5,'A5')declare @in varchar(200), @comando varchar(200)set @in = '(' + '''' + 'A4' + '''' + ',' + '''' +  'A3' + '''' + ',' + '''' + 'A5' + '''' + ')' set @comando = 'select * from #tab where txt in ' + @inprint @comandoexec (@comando)drop table #tab
Fonte/Autor/link

AUTOR: "Jothaz"

 

Dúvidas, criticas, contribuições, correções e adições serão bem vindas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jothaz tudo bem ?

esses dias eu tive que lidar com esse tipo de caso, usar IN dinâmico dentro de uma query, vai um exemplo que como eu resolvi, não foge muito o que você fez:

 

USE PUBS

CREATE PROCEDURE EXEMPLEJOBS

@MAX VARCHAR(50)

AS BEGIN EXEC('SELECT * FROM PUBS.DBO.JOBS WHERE MAX_LVL IN (' + @MAX + ')')
END

 

usando a procedure:

 

EXEC EXEMPLEJOBS '100,175'

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.