Ir para conteúdo

POWERED BY:

Arquivado

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

Matheus Oliveira

Uso do EXEC ()

Recommended Posts

Pessoal,Estou precisando de uma ajuda. Estou precisando fazer uma procedure que receba dois parâmetros e retorne um. Só que o problema é que um destes parâmetros é o nome da tabela e o parâmetro que ela tem que retornar é o resultado de uma consulta para a tabela. Já tentei de diversas formas mas não estou conseguindo.Segue o código para facilitar:DECLARE @QTDE INTDECLARE @TAB NVARCHAR (20)DECLARE @CAMPO NVARCHAR(20)DECLARE @sql nvarchar(1000)SET @TAB = 'B2336'SET @campo = 'nome'SET @SQL = 'select count(*) from '+@TAB+' where len('+@campo+')>cast(dbo.fn_tam('+@campo+') as nvarchar)'EXEC (@SQL)Como alimento a váriável @QTDE com o resultado do exec?Alguem tem alguma idéia ou uma outra solução para o problema? Ficarei muito agradecido.Att,Matheus

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde,

 

Você pode gerar uma tabela temporária.

 

DECLARE @QTDE INT

DECLARE @TAB NVARCHAR (20)

DECLARE @CAMPO NVARCHAR(20)

DECLARE @sql nvarchar(1000)

 

SET @TAB = 'B2336'

SET @campo = 'nome'

 

SET @SQL = 'select count(*) as QTDE into CONTA from '+@TAB+' where

len('+@campo+')>cast(dbo.fn_tam('+@campo+') as nvarchar)'

 

EXEC (@SQL)

select @QTDE = QTDE from CONTA

 

drop table CONTA

 

Até mais.

 

Renato J. C. Lima

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.