Pular para o conteúdo
  • Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 18 anos, 5 meses atrás por lugbestrio.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #76093
    lugbestrio
    Participante

      Ola amigos da lista, eu tenho uma estrutura no banco:

      // exemplo -> id: 1; nome: “Leitura”
      create type permissao is object(
      id integer;
      nome varchar2(20);
      );

      // exemplo -> id: 1; nome: “Leitura”; pasta: “pasta_teste”
      create type permissao_pasta under permissao(
      pasta nome(20);
      );

      //eu criei uma table object de permissao:
      create type tabela_permissao is table of permissao;

      se eu inserir um registro do tipo permissao_pasta nesta tabela, como faço para ler?
      nao consigo acessar o campo pasta…

      Agradeço a ajuda de todos.

      #76095
      rosterne
      Participante

        Não existe a claúsula UNDER pra criação de tabela.

        Faça assim:

        • create or replace type permissao is object(id integer, nome varchar2(20)) not final;
        • create or replace type permissao_pasta under permissao(pasta varchar2(20)) not final;

        • create table tabela_permissao of permissao;

        • create table pasta of permissao_pasta;

        • create view v_permissao of permissao WITH OBJECT ID(id) as select id, nome from tabela_permissao;

        • create view v_pasta of permissao_pasta under v_permissao as select id, nome, pasta from pasta;

        Acho que assim dá.

        Abraço.

        #76097
        lugbestrio
        Participante

          Ola amigo, vc entendeu errado. o under é para criar a herança… depois eu crio um object table da superclasse (nao é tabela relacional, nem de objetos).
          -> create type table_ is table of objeto;

          eu descobri o que eu precisava. obrigado

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