phcouto 0 Denunciar post Postado Setembro 21, 2006 Boa tarde, minha dúvida deve ser bem simples, pois não achei gente com a mesma dúvida que eu pela net, ou talvez não soube procurar. Eu estou montando um sistema de controle de médicos, e o administrador tem que lançar, dia, mes, hora1, hora2, hora3, hora4 e hora5, mas não quero que ele lance um mesmo dia duas vezes (Ex: não existem dois dias 21 em setembro). Tentei fazer uma consulta ao bd e depois fazer um if com o resultado antes de rodar a query que vai inserir , mas não sei o que usar de argumento para o if. Desde já agradeço a atenção. Paulo Henrique +++++++ RESOLVIDO +++++++ QUERO AGRADECER A TODOS QUE VISITARAM MINHA DÚVIDA MAS JÁ RESOLVI. ESTAVA FALTANDO SÓ UMA COISINHA NO MEU SCRIPT E AGORA ACHEI. VALEU MESMO! Me desculpem, mas não resolvi o problema e achei que tinha postado no dia que o walace me pediu para postar o que fiz. Fiquei com o projeto parado, mas agora estou de volta e vou fazer o que Suissa passou. Até mais, e mais uma vez mil desculpas. Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Setembro 22, 2006 Posta aí o que você fez. Compartilhar este post Link para o post Compartilhar em outros sites
Suissa 1 Denunciar post Postado Setembro 27, 2006 declare var_dia dateselect dia into var_dia from agenda(seila) where dia=NEW.diaif(var_dia = NEW.dia) then //testa c o dia existeERROelse //se não existe então insereinsert into agenda(dia) value(NEW.dia)var_dia eh uma variavel q guardara o valor do dia caso ele existadia eh o tal do campo q você quer testar Compartilhar este post Link para o post Compartilhar em outros sites
phcouto 0 Denunciar post Postado Outubro 13, 2006 declare var_dia dateselect dia into var_dia from agenda(seila) where dia=NEW.diaif(var_dia = NEW.dia) then //testa c o dia existeERROelse //se não existe então insereinsert into agenda(dia) value(NEW.dia)var_dia eh uma variavel q guardara o valor do dia caso ele existadia eh o tal do campo q você quer testarCaro SUISSA, não entendi, como vou usar esta variável para testar se o dia já está lançado, sou meio verde ainda, mas dias tem os mesmos todo mês, este é meu maior problema.Desde já agradeço a sua atenção. Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Outubro 13, 2006 Tá meio complicada sua explicação, não existe o mesmo dia 21 de dezembro, mas existem 24 horas dentro deste, não pode fazer um lançamento em horas diferentes no mesmo dia ?Bom, antes de fazer select pra ver se o registro já foi lançado você pode assegurar que isto não aconteça colocando o campo data na sua chave primária, assim ao tentar inserir uma data que já exista o banco vai retornar um erro. Compartilhar este post Link para o post Compartilhar em outros sites
phcouto 0 Denunciar post Postado Outubro 13, 2006 Vou tentar explicar melhor:Vou lançar todos os meses a escala diária de médicos, mas atualmente o banco de dados aceita digitar 10/10 duas vezes, se eu colocar para testar o dia e o mês ele simplesmente não mostra nada e não deixa mais eu lançar o 10/11.Será que fui mais claro?Paulo Henrique Compartilhar este post Link para o post Compartilhar em outros sites
Suissa 1 Denunciar post Postado Outubro 14, 2006 declare var_dia dateselect dia into var_dia from agenda(seila) where dia=NEW.diaif(var_dia = NEW.dia) then //testa c o dia existeERROelse //se não existe então insereinsert into agenda(dia) value(NEW.dia)var_dia eh uma variavel q guardara o valor do dia caso ele existadia eh o tal do campo q você quer testarCaro SUISSA, não entendi, como vou usar esta variável para testar se o dia já está lançado, sou meio verde ainda, mas dias tem os mesmos todo mês, este é meu maior problema.Desde já agradeço a sua atenção.então isso aki declare var_dia dateselect dia into var_dia from agenda(seila) where dia=NEW.diavai selecionar o dia no banco caso esse dia seja igual ao dia que esta sendo inserido que eh p NEW.diaentãoif(var_dia = NEW.dia) then //testa c o dia existeERROelse //se não existe então insereinsert into agenda(dia) value(NEW.dia)deu pa entender?isso numa trigger before insert logico neh Compartilhar este post Link para o post Compartilhar em outros sites
MAPU 0 Denunciar post Postado Outubro 18, 2006 kra se você naum ker q o valor seja repetido coloca o campo como chave primária...naum se é isso msm só se eu entendi mal!t+ Compartilhar este post Link para o post Compartilhar em outros sites
Suissa 1 Denunciar post Postado Outubro 19, 2006 mas uma data não pode ser chave primária ehhehehpoder ateh pode não, mas não deve ser feito Compartilhar este post Link para o post Compartilhar em outros sites