Ir para conteúdo

POWERED BY:

Arquivado

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

Carlos_Seiji

Store procedure

Recommended Posts

pessoal criei uma procedure no sql 2000.

mas estou com o seguinte problema um dos selects as condições são montadas em uma variável e não sei pq ele não esta aceitando.

se alguem souber como resolver eu agradeço, ja tentei de várias formas e procurei algo no help do ms-sql, mas não encontrei nada.

 

if (@stAtivo = 'a')begin	set @condicao = ' and cc.data_ini >= convert(smalldatetime, ' + @dtIni + ', 103) and cc.data_final <= convert(smalldatetime, ' + @dtFim + ', 103) and ml.Ativo = 2'endif (@stAtivo = 'i')begin	set @condicao = ' and cc.data_ini >= convert(smalldatetime, ' + @dtIni + ', 103) and cc.data_final <= convert(smalldatetime, ' + @dtFim + ', 103) And ml.Ativo = 7'endif (@stBusca != '')begin	set @condicao = @condicao + ' And cc.email like ''%' + @stBusca + '%'endif (@stBusca2 != '')begin	set @condicao = @condicao + ' And cc.r_social like ''%' + @stBusca2 + '%'endif (@stBusca3 != '')begin	set @condicao = @condicao + ' And cc.contato like ''%' + @stBusca3 + '%'endINSERT INTO #TEMP SELECT cc.id FROM cadastro_clientes cc (NOLOCK), ml (NOLOCK)  WHERE ml.id_cad = cc.id and ml.ativo = '2' + @condicao + ORDER BY cc.r_social

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual é o erro que esta dando?

como você declarou o @condicao
da uma olhada nesta linhaset @condicao = @condicao + ' And cc.email like ''%' + '01/01/1900' + '%'e nas demais tem aspas simples a mais ...tambem verifique se a @condicao esta recebendo valor que nao condiz com sua declaracao

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz a seguinte alteração e funcionou.

pelo que entendi se eu colocar a condição dentro de uma variável ele não funciona corretamente.

vou ter de pensar em outra lógica.

 

INSERT INTO #TEMP (id) SELECT cc.id FROM cadastro_clientes cc (NOLOCK), ml (NOLOCK)  WHERE ml.id_cad = cc.id and ml.ativo = '2' And cc.r_social like '%' + @stBusca2 + '%' ORDER BY cc.r_social

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz a seguinte alteração e funcionou.

pelo que entendi se eu colocar a condição dentro de uma variável ele não funciona corretamente.

vou ter de pensar em outra lógica.

falai Carlos beleza,

 

para este tipo de select dinamico, pode-se usar a função execute, talvez ajude, veja alguns tópicos sobre o execute:

http://forum.imasters.com.br/index.php?sho...&hl=execute

http://forum.imasters.com.br/index.php?sho...&hl=execute

http://forum.imasters.com.br/index.php?sho...&hl=execute

http://forum.imasters.com.br/index.php?sho...&hl=execute

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

falai Carlos beleza,

 

para este tipo de select dinamico, pode-se usar a função execute, talvez ajude, veja alguns tópicos sobre o execute:

http://forum.imasters.com.br/index.php?sho...&hl=execute

http://forum.imasters.com.br/index.php?sho...&hl=execute

http://forum.imasters.com.br/index.php?sho...&hl=execute

http://forum.imasters.com.br/index.php?sho...&hl=execute

 

t+

eriva_br , eu te amo http://forum.imasters.com.br/public/style_emoticons/default/blush.gif ....funcionou perfeitamente.. http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

valew mesmo. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.