Autor Tópico: [RESOLVIDO]Consulta + SQL Errado  (Lida 1115 vezes)

gabrielsantos

  • Iniciante
  • **
  • Mensagens: 66
[RESOLVIDO]Consulta + SQL Errado
« Online: Maio 23, 2013, 02:55:38 pm »
Boa tarde, comecei recentemente no scriptcase...

bem estava eu criando uma consulta quando resolvi alterar o sql da mesma que era:

Código: [Selecionar]
select
    nr_rq,
    desc_departamento,
    desc_rq_status,
    desc_rq_tipo,
    id_rq, id_almox,
    id_departamento,
    id_servidor,
    id_rq_tipo,
    id_rq_status,
    id_perfil,
    motivo,
    data,
    data_fechamento,
    num_controle,
    ano
   FROM vw_almox_rq_cons
   WHERE id_rq_status >= 2
   AND id_rq_status < 4

então eu resolvi fazer um case no campo id_rq_status da seguinte maneira

Código: [Selecionar]
CASE when (CURRENT_DATE - data) >= 2 and id_rq_status = 3 then 'Aguardando Retirada Atrasado' end as id_rq_status
então percebi que era melhor fazer essa verificação no evento onRecord e voltei para a consulta inicial... só que agora a consulta sempre roda com a alteração do CASE que eu coloquei, rodando a aplicação em Modo Debug ele me mostra a consulta executando com o CASE mesmo eu já tendo removido...

como sou novo no scriptcase já rodei todos os atributos do grid e não achei onde posso arrumar isso...
só solucionei criando uma nova consulta mas eu gostaria de saber o que pode estar acontecendo se possível...

obrigado pela ajuda desde já...
« Última modificação: Maio 23, 2013, 05:32:12 pm por gabrielsantos »

Allan Medeiros

  • Expert
  • *****
  • Mensagens: 504
    • Email
Re:Consulta + SQL Errado
« Responder #1 Online: Maio 23, 2013, 04:22:07 pm »
Amigo,
Faça sua consulta através de uma view do banco de dados.
[]s
Allan Medeiros
Analista de Informática
__________________________________________
Companhia de Processamento de Dados da Paraíba
medeiros@codata.pb.gov.br

gabrielsantos

  • Iniciante
  • **
  • Mensagens: 66
Re:Consulta + SQL Errado
« Responder #2 Online: Maio 23, 2013, 04:25:36 pm »
Allan... a consulta está sendo feito na view... mesmo assim está com esse problema

Allan Medeiros

  • Expert
  • *****
  • Mensagens: 504
    • Email
Re:Consulta + SQL Errado
« Responder #3 Online: Maio 23, 2013, 04:45:19 pm »
Mas o case está na view ou na aplicação?
Allan Medeiros
Analista de Informática
__________________________________________
Companhia de Processamento de Dados da Paraíba
medeiros@codata.pb.gov.br

gabrielsantos

  • Iniciante
  • **
  • Mensagens: 66
Re:Consulta + SQL Errado
« Responder #4 Online: Maio 23, 2013, 05:01:44 pm »
na view... mas o caso não é nem onde o CASE está.. e sim porque está executando a consulta com essa cláusula quando eu já removi ela...

Allan Medeiros

  • Expert
  • *****
  • Mensagens: 504
    • Email
Re:Consulta + SQL Errado
« Responder #5 Online: Maio 23, 2013, 05:09:48 pm »
Se eu entendi, você alterou a view e na aplicação o SQL está executando a view antiga?
Vc pode mandar o SQL que está na consulta?
Allan Medeiros
Analista de Informática
__________________________________________
Companhia de Processamento de Dados da Paraíba
medeiros@codata.pb.gov.br

gabrielsantos

  • Iniciante
  • **
  • Mensagens: 66
Re:Consulta + SQL Errado
« Responder #6 Online: Maio 23, 2013, 05:18:22 pm »
não....

na verdade o que eu fiz foi o seguinte la na opção SQL da consulta tinha esse código

Consulta inicial
Código: [Selecionar]
select
    nr_rq,
    desc_departamento,
    desc_rq_status,
    desc_rq_tipo,
    id_rq, id_almox,
    id_departamento,
    id_servidor,
    id_rq_tipo,
    id_rq_status,
    id_perfil,
    motivo,
    data,
    data_fechamento,
    num_controle,
    ano
   FROM vw_almox_rq_cons
   WHERE id_rq_status >= 2
   AND id_rq_status < 4

então eu alterei essa consulta para
Código: [Selecionar]
select
    nr_rq,
    desc_departamento,
    desc_rq_status,
    desc_rq_tipo,
    id_rq, id_almox,
    id_departamento,
    id_servidor,
    id_rq_tipo,
    CASE when (CURRENT_DATE - data) >= 2 and id_rq_status = 3 then 'Aguardando Retirada Atrasado' end as id_rq_status,
    id_perfil,
    motivo,
    data,
    data_fechamento,
    num_controle,
    ano
   FROM vw_almox_rq_cons
   WHERE id_rq_status >= 2
   AND id_rq_status < 4

repare que alterei a consulta no parametro id_rq_status para o CASE

então eu vi que a melhor alternativa para fazer isso era com código no onRecord

e voltei a consulta novamente para a consulta inicial

Consulta inicial
Código: [Selecionar]
select
    nr_rq,
    desc_departamento,
    desc_rq_status,
    desc_rq_tipo,
    id_rq, id_almox,
    id_departamento,
    id_servidor,
    id_rq_tipo,
    id_rq_status,
    id_perfil,
    motivo,
    data,
    data_fechamento,
    num_controle,
    ano
   FROM vw_almox_rq_cons
   WHERE id_rq_status >= 2
   AND id_rq_status < 4

depois da ultima alteração o sql continua executando com o case...

Allan Medeiros

  • Expert
  • *****
  • Mensagens: 504
    • Email
Re:Consulta + SQL Errado
« Responder #7 Online: Maio 23, 2013, 05:20:57 pm »
Ok, aconteceu isso comigo uma vez e resolvi assim:
Então faça o seguinte, exclua um campo do SQL e salve.
Depois coloque o campo o campo de volta e salve novamente.
PS: Parece estranho mas funcionou. Acho que é bug do SC.
Allan Medeiros
Analista de Informática
__________________________________________
Companhia de Processamento de Dados da Paraíba
medeiros@codata.pb.gov.br

Allan Medeiros

  • Expert
  • *****
  • Mensagens: 504
    • Email
Re:Consulta + SQL Errado
« Responder #8 Online: Maio 23, 2013, 05:22:01 pm »
Quando precisar usar SQL avançado, nunca faça no SC. Use case, if etc sempre nas views
[]s
Allan Medeiros
Analista de Informática
__________________________________________
Companhia de Processamento de Dados da Paraíba
medeiros@codata.pb.gov.br

gabrielsantos

  • Iniciante
  • **
  • Mensagens: 66
Re:Consulta + SQL Errado
« Responder #9 Online: Maio 23, 2013, 05:31:54 pm »
opa funcionou....

Obrigado pela ajuda e pelo conselho!

Allan Medeiros

  • Expert
  • *****
  • Mensagens: 504
    • Email
Re:[RESOLVIDO]Consulta + SQL Errado
« Responder #10 Online: Maio 23, 2013, 05:35:30 pm »
Nada,
boa sorte.
Allan Medeiros
Analista de Informática
__________________________________________
Companhia de Processamento de Dados da Paraíba
medeiros@codata.pb.gov.br