rodrigo.moraes Postado Abril 24, 2009 Denunciar Share Postado Abril 24, 2009 Srs,Estou com problema ao criar uma Stored Procedure baseada em um Select "Hard-Code" existente em um sistema legado.O banco de dados é Sybase.Minha dúvida está destacada abaixo:Exemplo de select:Parametros @flag1 char(1) @flag2 char(1) @flag3 char(1) @flag4 char(1) Select a.campo1, b.campo2, c.campo3from tabela1 a ,tabela2 b ,tabela3 c Where --relacionamento a.codigo = b.codigo and b.cod_x = c.cod_x --criterios If @flag1 <> "" Then <<----- Duvida nas condições abaixo AND a.campoa = @flag1 ElseIf @flag2 <> "" Then AND b.campob = @flag2 Else If @flag3 <> "" Then AND b.campoc = @flag3 end if If @flag4 <> "" Then AND c.campoe = @flag4 end if End Ifou seja, como fazer esses Blocos Ifs usando Sybase, ou então SQL Server.Agradeço desde já atenção Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Abril 24, 2009 Denunciar Share Postado Abril 24, 2009 no sql, você podia escrever a query numa variavel varchar e depois dar um exec() nela ou então usar o case.não sei se funciona no sybase, mas se precisar q seja nele ou em qualquer otro banco q não o sql, então me avise q eu terei q mover seu tópico pra area correta (e na sala de sql server so poste quando for sobre sql). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodrigo.moraes Postado Abril 24, 2009 Autor Denunciar Share Postado Abril 24, 2009 Então.O cliente em que presto serviço não quer que use Exe() em uma string concatenada. Essa solução foi a primeira que me veio a cabeça, mas não posso usar.Já tinha testado com Case When e não tinha conseguido, pois tinha um IF dentro do outro.Vou tentar mais usando o Case então. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CAIO.EXE Postado Abril 25, 2009 Denunciar Share Postado Abril 25, 2009 cara,resondi uma pergunta sua parecida no outro tópico...http://scriptbrasil.com.br/forum/index.php?showtopic=136109acredito que para voce solucionar este problema basta utilizar a mesma ideia do outro case.Att.Caio Cardoso Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodrigo.moraes Postado Abril 28, 2009 Autor Denunciar Share Postado Abril 28, 2009 cara,resondi uma pergunta sua parecida no outro tópico...http://scriptbrasil.com.br/forum/index.php?showtopic=136109acredito que para voce solucionar este problema basta utilizar a mesma ideia do outro case.Att.Caio CardosoObrigado... vou testar Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodrigo.moraes Postado Abril 28, 2009 Autor Denunciar Share Postado Abril 28, 2009 cara,resondi uma pergunta sua parecida no outro tópico...http://scriptbrasil.com.br/forum/index.php?showtopic=136109acredito que para voce solucionar este problema basta utilizar a mesma ideia do outro case.Att.Caio CardosoObrigado... vou testarPERFEITO!!! Agradeço a ajuda de todos Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
rodrigo.moraes
Srs,
Estou com problema ao criar uma Stored Procedure baseada em um Select "Hard-Code" existente em um sistema legado.
O banco de dados é Sybase.
Minha dúvida está destacada abaixo:
Exemplo de select:
Parametros
@flag1 char(1)
@flag2 char(1)
@flag3 char(1)
@flag4 char(1)
Select
a.campo1,
b.campo2,
c.campo3
from
tabela1 a
,tabela2 b
,tabela3 c
Where
--relacionamento
a.codigo = b.codigo
and b.cod_x = c.cod_x
--criterios
If @flag1 <> "" Then <<----- Duvida nas condições abaixo
AND a.campoa = @flag1
ElseIf @flag2 <> "" Then
AND b.campob = @flag2
Else
If @flag3 <> "" Then
AND b.campoc = @flag3
end if
If @flag4 <> "" Then
AND c.campoe = @flag4
end if
End If
ou seja, como fazer esses Blocos Ifs usando Sybase, ou então SQL Server.
Agradeço desde já atenção
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.