Bom dia.
Pessoal gostaria de tirar uma dúvida com vocês sobre a criação de Types no Oracle, tenho a missão de migrar um sistema de SQL Server para Oracle e me deparei com os objetos UserDatatypes.
Quando criado um type no SQL Server é como se fosse um tipo de dado novo no banco só que com o nome desejado, neste caso pode ser utilizado para criação das tabelas, definição de variáveis em procedures e alguns casos utilizam no fonte em Delphi.
Mas para Oracle percebi um comportamento diferente onde toda manipulação do campo com esse TYPE tem que utilizar o nome do TYPE na frente da coluna, até mesmo para visualização após um SELECT aparece o nome.
O problema é que isso implica em alterar os fontes onde toda a manipulação de dados teria que inserir o nome do TYPE e tratar o retorno para retirar o nome do TYPE.
Exemplo:
CREATE OR REPLACE TYPE t_cep AS OBJECT (
cep CHAR(8));
CREATE TABLE endereco (
rua CHAR(50),
cep t_cep);
INSERT INTO endereco VALUES(‘Rua: Pedro Violane’, t_cep(‘89216780’));
UPDATE endereco
SET cep = t_cep(‘89216788’)
WHERE cep = t_cep(‘89216780’);
SELECT cep FROM endereco;
CEP(CEP)
——————
T_CEP(‘89216780’)
Existe outra maneira de referenciar um TYPE no Oracle?
Obrigado.
Scheidt