ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Consulta SQL - Dúvida com if (cursor e procedure)

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Marcelo_Ribeiro
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 17 de Fevereiro de 2010
Mensagens: 127

MensagemEnviada: Qua Fev 21, 2018 11:38 am    Assunto: Consulta SQL - Dúvida com if (cursor e procedure) Responder com Citação

E aí pessoal, tudo bem?

Estou com uma dúvida: tenho uma procedure e preciso fazer o seguinte: eu passo um parâmetro, e caso esse parametro seja > 0, eu tenho que fazer join em uma tabela, e caso seja = 0, eu não faço o join.

Pra fazer essa consulta, é utilizado um cursor. Tem como fazer algo do tipo

Cursor CPesquisa Is
if parametro > 0 then
select .....
else
select .....


ou então fazer alguma coisa na consulta?
Esse parâmetro seria o código de um cadastro. Se eu passar algum valor, eu faço a validação desse cadastro. Caso contrário, não faço nenhuma validação (que é o que já faz atualmente).

Fico no aguardo.

Vlw. Abs
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qua Fev 21, 2018 3:11 pm    Assunto: Responder com Citação

Boa tarde,

Você está querendo utilizar o Join só para ver se o registro existe na outra tabela?
Ou precisa que a consulta retorne algum campo dessa outra tabela?
Qual banco de dados (e versão) você está utilizando?


Editado pela última vez por imex em Seg Dez 04, 2023 11:52 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Marcelo_Ribeiro
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 17 de Fevereiro de 2010
Mensagens: 127

MensagemEnviada: Qua Mar 21, 2018 5:56 pm    Assunto: Responder com Citação

Opa, boa tarde. Td tranquilo?

Então, esse ajuste na consulta não vou precisar mais fazer. O cliente pediu outra coisa pra fazer hehe... Mesmo assim, obrigado pela ajuda.

Agora, estou com outro problema (esse eu tenho que ajustar, não vai ter jeito hehe) - (banco de dados Ora11G):

Tenho outra proc, e nela tenho um cursor que faz uma consulta normal.

Porém, parece que trava quando vai fazer o loop dele. Se eu tentar fazer um insert (Insert into tabela (select valores from table2....), também trava.

Mas, utilizando o PL/SQL Developer, se eu fizer essas mesmas consulta e insert fora da procedure, vai na hora (insere 1415 registros em 0,235segundos) e consulta 1415 registros em 1,125segundos.

Será que tem como ver o que tá fazendo travar desse jeito?

Não tenho ideia do que possa ser.

Valeu
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB