Ir para conteúdo

POWERED BY:

Arquivado

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

advaldomesquita

[Resolvido] Sintaxe gravada em tabela

Recommended Posts

Fala galerinha....

Jah pensei em muitos modos de se resolver a questao abaixo, mas ateh agora nada de concreto me veio a mente.

 

Situacao:

Foi gravado em uma tabela uma sintaxe em sql mesmo, como este exemplo:


create table ##temp (dados varchar(50)

insert into ##temp values ('DECLARE @I1 VARCHAR(500)  = '01/04/1990'DECLARE @E1 VARCHAR(500)  = '10/12/2002'DECLARE @VARIAVEL_I VARCHAR(50) = '@I1'DECLARE @VARIAVEL_E VARCHAR(50) = '@E1' DECLARE @SQL VARCHAR(MAX) DECLARE @NUM BIGINT = 1 DECLARE @ULTIMO VARCHAR(100) SET @ULTIMO = (SUBSTRING(@VARIAVEL_I,3,1)+1) SELECT @ULTIMO ')

se eu dou um select * from ##temp vem as linhas com os comandos, o que eu preciso eh executar esta budega ¬¬

 

Jah tentei por exec, osql, sqlcmd, xpcmdshell, xml e por ai vai.... e ateh agora nada... alguem tem uma lanterna para me dar uma luz?

 

 

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

pega o conteudo do campo e joga em uma variavel

 

create table ##temp (dados varchar(500))

insert into ##temp values ('DECLARE @I1 VARCHAR(500)  = ''01/04/1990'' DECLARE @E1 VARCHAR(500)  = ''10/12/2002'' DECLARE @VARIAVEL_I VARCHAR(50) = ''@I1''DECLARE @VARIAVEL_E VARCHAR(50) = ''@E1'' DECLARE @SQL VARCHAR(MAX) DECLARE @NUM BIGINT = 1 DECLARE @ULTIMO VARCHAR(100) SET @ULTIMO = (SUBSTRING(@VARIAVEL_I,3,1)+1) SELECT @ULTIMO ')


declare @var varchar(max)

select @var  = dados from ##temp

select @var
exec (@var)

drop table ##temp

Compartilhar este post


Link para o post
Compartilhar em outros sites

aew....

mai um caso resolvido

 



create table ##temp (dados varchar(500))
declare @a varchar(max)

insert into ##temp values ('DECLARE @I1 VARCHAR(500)  = ''01/04/1990'' DECLARE @E1 VARCHAR(500)  = ''10/12/2002'' DECLARE @VARIAVEL_I VARCHAR(50) = ''@I1''DECLARE @VARIAVEL_E VARCHAR(50) = ''@E1'' DECLARE @SQL VARCHAR(MAX) DECLARE @NUM BIGINT = 1 DECLARE @ULTIMO VARCHAR(100) SET @ULTIMO = (SUBSTRING(@VARIAVEL_I,3,1)+1) SELECT @ULTIMO ')


select @a = dados from ##temp

exec (@a)

drop table ##temp


 

vlw eriva^^ "eh nóis"....

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.