Tipo collection / conjunto , diferenças entre SET , LIST e MULTISET

Versão para impressãoEnviar para amigoVersão PDF

Um campo do tipo collection é um conjunto, onde é possível ter mais
de um dado no mesmo campo/registro. Existem 3 tipos de dados de conjunto:

  • SET : Nao ordenado , itens unicos.
    Se especificado um item duplicado, ele é automaticamento "unificado" em apenas um item.
  • MULTISET: Nao ordenado , itens duplicados.
  • LIST : Ordenado , itens duplicados.
    Por se tratar deu um item ordenado, quando manipulado com SPL (Stored Procedure) ou ESQL/C e é feito a inclusao de um item no campo, é necessário especificar a posiçao que o dado ocupará.

Todas as referencias literais feitas no SQL aos tipos de dados collection devem obedecer a sintaxe abaixo.

# Sintaxe: [SET|MULTISET|LIST]{}
# Exemplo de como um dado é retornado

select first 1
       tabid
     , set{1,2,3,1} as set
     , multiset{1,2,3,2,1} as multi
     , list{"a","b","c","a","b"}  as list
from systables;

Database selected.

tabid  1
set    SET{1          ,2          ,3          }
multi  MULTISET{1          ,2          ,3          ,2          ,1          }
list   LIST{'a','b','c','a','b'}

1 row(s) retrieved.

Database closed.

Na definiçao de uma tabela com campo do tipo conjunto é obrigatório incluir o parametro NOT NULL:
CREATE TABLE xyz ( funcoes set( integer not null) );

Na manipulação de um campo com SPL ou ESQL/C é possivel listar, adicionar e remover item a item de um conjunto. Exite muitas maneiras e tratar este tipo de campo, para maiores informações leia o artigo Como manipular dados do tipo collection / conjunto ( set , list, multiset ).

Para identificar quantos itens existe um campo collection, utilizar a funçao cardinality().

0
Ainda não votado
Sua avaliação: Nenhum

Comentar

O conteúdo deste campo é privado não será exibido ao público.
  • Endereços de páginas de internet e emails viram links automaticamente.
  • Você pode usar tags BBCode no texto.
  • Tags HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>

Mais informações sobre as opções de formatação

CAPTCHA
Este teste é para bloquear programas automatizados e previnir spams
CAPTCHA de Imagem
Digite o texto exibido na imagem.