Quiz A2Q2
Mostre todos os comandos usados para executar as solicitações abaixo, bem como o resultado de cada comando.
(a) Crie um Object Type chamado PROFISSIONAL_TYPE com os seguintes atributos: matricula INTEGER, nome VARCHAR2(30) e admissao DATE.
CREATE OR REPLACE TYPE PROFISSIONAL_TYPE AS OBJECT (
matricula INTEGER,
nome VARCHAR2(30),
admissao DATE
)
(b) Visualize a estrutura do Object Type criado com o comando DESCRIBE.
DESCRIBE PROFISSIONAL_TYPE;
O describe não retornou nada util, mas pesquisando encontrei esse comando que retorna os atributos do tipo:
SELECT
attr_name,
attr_type_name,
length,
scale
FROM
all_type_attrs
WHERE
type_name = 'PROFISSIONAL_TYPE';
(c) Use o Object Type criado anteriormente como molde para criar uma Object Table chamada PROFISSIONAL_OBJ_TAB.
CREATE TABLE PROFISSIONAL_OBJ_TAB OF PROFISSIONAL_TYPE;
(d) Usando o método construtor, insira uma linha (Object Row) na Object Table PROFISSIONAL_OBJ_TAB com os seguintes dados: 100, 'José' e SYSDATE.
INSERT INTO PROFISSIONAL_OBJ_TAB
VALUES (
PROFISSIONAL_TYPE(100, 'José', SYSDATE)
);
(e) Agora, sem usar o método construtor, tente inserir outra linha (Object Row) na Object Table PROFISSIONAL_OBJ_TAB com os seguintes dados: 101, 'Maria' e SYSDATE. Você conseguiu inserir a segunda linha? Qual a sua conclusão?
Executei o seguinte comando no Apex:
INSERT INTO PROFISSIONAL_OBJ_TAB
VALUES (101, 'Maria', SYSDATE);
E ele inseriu sim o dado na tabela, creio que ele tenha usado o método construtor por mim. Não sei se era previsto a inserção sem o uso do método construtor, mas acredito que não.
(f) Com um comando SELECT, mostre todas as linhas (Object Rows) e colunas da Object Table PROFISSIONAL_OBJ_TAB.
SELECT * FROM PROFISSIONAL_OBJ_TAB;