Ir para conteúdo

POWERED BY:

Arquivado

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

Rodolfo_cvp

Como setar um exec dentro de uma variavel @variavel

Recommended Posts

pessoal preciso de uma ajuda de vocês...tenho 3 meses de SQL SERVER...e pintou uma duvida que preciso de respostas...segue exemplo:declare @comando varchar (500)set @comando = exec nome_procedureessa procedure esta paginada...eu quero que ela me retorne o valor exato de registros que ela absorveu para eu poder montar uma navegação na minha pagina<<primeiro <<anterior proximo>> ultimo>>pesso a ajuda de vocês...é urgente!!!SE ALGUÉM PUDER MOSTRAR UM MODELO....

Compartilhar este post


Link para o post
Compartilhar em outros sites

fala eriva....cara meu problema é o seguinte...eu preciso execultar uma procedure dentro de uma variavel...para depois poder colocar essa variavel num count e ela me retornar quantos regitros foram armazenados.eu estava fazendo alguns testes...com a seguinte proceduredeclare @comando varchar (100)declare @registros intdeclare @paginas intdeclare @DDD varchar (2)declare @telefone varchar(10)set @ddd = '22'set @telefone = '2622-0005'set @registros = 20set @paginas = 1set @comando = execute 'proc_telefone_s'+char(39)+@ddd+char(39)+','+char(39)+@telefone+char(39)+','(@regitros)','(@paginas)select @comandoesse codigo ta dando erro de sintaxe...eu ja não sei mais o que fazer....abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

falai,

 

tem alguns erros de concatenação ae, e para concatenar variaveis int com variaveis char tem que converter as int pra char

exemplo: convert(varchar(30),@variavelINT)

 

acredito q vai ficar assim:

declare @comando varchar (100)declare @registros intdeclare @paginas intdeclare @DDD varchar (2)declare @telefone varchar(10)set @ddd = '22'set @telefone = '2622-0005'set @registros = 20set @paginas = 1set @comando = 'proc_telefone_s '+char(39)+@ddd+char(39)+','+char(39)+@telefone+char(39)+','+(convert(varchar(30),@registros))+','+(convert(varchar(30),@paginas))select @comandoexec @comando

abs,

t++

Compartilhar este post


Link para o post
Compartilhar em outros sites

quase cara....só falta uma parada....eu preciso que a variavel execute a procedureset @comando = exec proc_telefone_s ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado meu camarada....ajudou muito....abraçs;;;

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara nada impossivel usar em "exec" dentro de um "set"...da uma olhada :CREATE PROCEDURE tel_telefone2_s @DDD varchar(4), @fone1 char (9), @registros int, @pagina intASDECLARE @comando varchar (300)--PAGINAÇÂOset @comando ='tel_telefone_s '+char(39)+@ddd+char(39)+','+char(39)+@fone1+char(39)+','+(convert(varchar(30),@registros))+','+(convert(varchar(30),@pagina)) exec tel_paginacao_s 'INTERNET', 'TITULO, NOME_FIGUR, TIPOLOG ,TITLOG , LOGRAD, NR, BAIRRO,CIDADE, DDD, FONE1, UF', @registros,@pagina,@comando, 'nome_figur'--select @comandoGOto precisando achar um jeito de resolver esse problema....

Compartilhar este post


Link para o post
Compartilhar em outros sites

declare @comando varchar (100)declare @registros intdeclare @pagina intdeclare @DDD varchar (2)declare @fone1 varchar(10)set @ddd = @dddset @fone1 = @fone1set @registros = 20set @pagina = 1set @comando = ''declare @retorno varchar(200)set @retorno = 'tel_telefone_s' +char(39)+@ddd+char(39)+','+char(39)+@fone1+char(39)+','+(convert(varchar(30),@registros))+','+(convert(varchar(30),@pagina))select @retorno as retorno into ##testeselect @comandoexec @comando--aqui você recupera o retornoselect count (*) from ##teste--destroy a tabvirtualdrop table ##testeessa porcaria de procedure num funciona...ja não sei mais como colocar um "exec" dentro de um "set" para executar a varial que eu "setei"declare @testeset @teste = exec proc_teste_sselect count (@teste) from tabela

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.