Rpizao 0 Denunciar post Postado Setembro 12, 2005 Falai pessoal, Eu preciso criar uma constraint em um campo chamado dat_mes_base, apesar do nome ele guarda dia/mês/ano (recebi ordens para que fosse assim...rs) o dia é sempre o dia 01 todo o trabalho é feito em cima de mês/ano, e esse campo faz parte da PK da tabela, ai que está meu problema... Eu quero restringir para que nenhum "desavisado" crie uma nova chave com mesmo mês/ano mas em dias diferentes... Exemplo: dat_mes_base cod_filial 01/01/05 1 02/01/05 1 ----> Isso não pode acontecer Alguém pode me dar um luz de como eu crio uma constraint com estas características? Desde já obrigado pessoal... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif []'s .... http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif Rafael. Compartilhar este post Link para o post Compartilhar em outros sites
Rpizao 0 Denunciar post Postado Setembro 12, 2005 Falai pessoal, Eu preciso criar uma constraint em um campo chamado dat_mes_base, apesar do nome ele guarda dia/mês/ano (recebi ordens para que fosse assim...rs) o dia é sempre o dia 01 todo o trabalho é feito em cima de mês/ano, e esse campo faz parte da PK da tabela, ai que está meu problema... Eu quero restringir para que nenhum "desavisado" crie uma nova chave com mesmo mês/ano mas em dias diferentes... Exemplo: dat_mes_base cod_filial 01/01/05 1 02/01/05 1 ----> Isso não pode acontecer Alguém pode me dar um luz de como eu crio uma constraint com estas características? Desde já obrigado pessoal... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif []'s .... http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif Rafael. <{POST_SNAPBACK}> Pessoal.... Muito obrigado... Encontrei uma forma de fazer....se alguém passar pelo mesmo problema, ficai registrado... ALTER TABLE FILIAIS ADD CONSTRAINT FILIAIS_CHK CHECK( to_char(dat_mes_base, 'DD') = '01' );Abraços pessoal.... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Rafael. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 12, 2005 Outra solução seria criar uma trigger e formar um trunc nesta data. create or replcace .... before insert or update :new.data := Trunc(:new.data,'mm'); mas eu faria exatamente o que você fez. Compartilhar este post Link para o post Compartilhar em outros sites
Rpizao 0 Denunciar post Postado Setembro 12, 2005 Outra solução seria criar uma trigger e formar um trunc nesta data. create or replcace .... before insert or update :new.data := Trunc(:new.data,'mm'); mas eu faria exatamente o que você fez. <{POST_SNAPBACK}> Vlw Motta...Eu estava com essa dúvida na sexta, ai agora pela manhã a voz falo...rs Eu estou iniciando no Oracle, antes trabalhava com SQL Server....ainda to me adaptando a algumas diferenças, mas to curtindo... Ah...outra dúvida... Tem como renomear constraint e index? Quando eu crio uma nova tabela o Oracle cria as constraints e os index com um nome locaum....e o pessoal aq cobra muito esse lance de padronização... Abração cara... Vlw ai pela dica... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Rafael. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 12, 2005 acho que tem um rename , sim , mas sempre faço o método silvicola, drop e create ... sempre crio as constraints em separado do create da tabela, fica mais facil nomeas-las Compartilhar este post Link para o post Compartilhar em outros sites
Rpizao 0 Denunciar post Postado Setembro 12, 2005 acho que tem um rename , sim , mas sempre faço o método silvicola, drop e create ... sempre crio as constraints em separado do create da tabela, fica mais facil nomeas-las <{POST_SNAPBACK}> Ah sim...é o que eu fiz tb cara!!!mas o problema é que estou mandando todo o script, e dependendo de quem for rodar....queria gerar uma sequencia....tipo o cara rodar o arquivo e já criar td certin. O lance é que não sei se as constraints q são criadas por default mudam de nome a cada vez q são criadas....assim não poderia prever qual será o nome para poder dropa-la em tempo de execução.... Mas ta trq... http://forum.imasters.com.br/public/style_emoticons/default/yes.gif Vlw pela ajudar cara....até mas... http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif Rafael. Compartilhar este post Link para o post Compartilhar em outros sites