Pular para o conteúdo
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #97285
    apalmeira
    Participante

      Olá pessoal,

      É possível criar um campo cujo valor default é uma substring de outro?

      No Feribird eu fazia assim:
      (substring(DATA_NASCIMENTO FROM 9 FOR 2))

      No Oracle não funcionou.

      #97292
      leandrolbs
      Participante

        Não sei se na criação da tabela isso funciona, não tenho ambiente para testar, mais faça um trigger… é melhor e pode-se implementar mais coisas…

        Ex:
        Cria a tabela

        create table leandro_teste(
        codigo int,
        nome varchar2(30),
        nome2 varchar2(30));

        Crie a trigger

        create or replace trigger tg_leandro_teste
        before insert on leandro_teste
        for each row
        declare
        begin
        if (:new.nome2 is null) then
        :new.nome2 := :new.nome;
        end if;
        end tg_leandro_teste;

        Faça um insert para teste:

        insert into jr.leandro_teste (codigo,nome) values(1,'teste');

        Lembrando, que não testei o script… [/code]

        #97295
        Manoel872
        Participante

          Talvez criar um view seja mais simples.

          Create view Teste as
          Select nome, substr(nome,1,50) from leandro_teste;

          Att,

          Manoel Jr.

          #97296
          leandrolbs
          Participante

            não sei quanto a necessidade desta configuração….mais se for o caso de não ter a necessidade de gravar é só fazer assim…


            select codigo, nome , substr(nome,10,20) as nome2a from leandro_teste

            #97297
            burga
            Participante

              Se SEMPRE o valor do campo for a substring do outro campo da mesma tabela, e SE o seu Oracle for o 11g, você pode fazer com colunas virtuais…

              #97299
              apalmeira
              Participante

                burga

                é isso mesmo que eu preciso, mas meu oracle é o 10g EX, acabei resolvendo com uma trigger.

                Alguem sabe se o Oracle 11g tera versão EX?

              Visualizando 6 posts - 1 até 6 (de 6 do total)
              • Você deve fazer login para responder a este tópico.