Oracle type défini par l'Utilisateur à l'intérieur de définition de package
est-il possible d'avoir un Type Défini par l'Utilisateur à l'intérieur de l'Oracle de définition de package? Lorsque j'essaie suivantes
CREATE OR REPLACE PACKAGE AF_CONTRACT AS -- spec
-- PROCEDURE my_rpcedure (emp_id NUMBER);
TYPE DTO_GRID AS OBJECT
(
ROWKEY NVARCHAR2(200),
COLUMNKEY NVARCHAR2(200),
CELLVALUE NVARCHAR2(200),
OLDVALUE NVARCHAR2(200),
TAG NVARCHAR2(200)
);
END AF_CONTRACT;
/
CREATE OR REPLACE PACKAGE BODY AF_CONTRACT AS -- body
-- PROCEDURE my_procedure (emp_id NUMBER) IS
-- BEGIN
--
-- END my_procedure;
END AF_CONTRACT;
J'ai toujours une erreur
Error: PLS-00540: object not supported in this context.
dans la définition du type.
OriginalL'auteur llasarov | 2011-11-28
Vous devez vous connecter pour publier un commentaire.
Types d'objet, doivent être déclarés au niveau base de données. Vous pouvez déclarer un type de collection dans une spécification de paquetage.
Double Possible de:
Possible de créer la Base de données Oracle types d'objet à l'intérieur de PL/SQL?
OriginalL'auteur Ollie
Non, il n'est pas permis:
Si vous souhaitez créer un type qui est juste de passage des données entre les procédures PL/SQL, puis utiliser le code PL/SQL ENREGISTREMENT syntaxe:
Toutefois, si vous voulez un type que vous pouvez utiliser dans une instruction SQL - qui est, comme l'entrée d'une
TABLE()
fonction, vous devez créer un type SQL. SQL et PL/SQL utilisation de deux moteurs différents, et seulement les types SQL sont visibles par le moteur SQL.Mon avis sur la nécessité de Types SQL n'est plus vrai pour les versions ultérieures de l'Oracle. Certainement dans 11gR2 et 12c du moteur SQL sera en charge de SQL PL/SQL paquets qui utilise PL/SQL des tables dans une
TABLE()
clause. Les Types doivent être déclarés dans le package spec, donc public et visible par le moteur SQL. Sous les couvertures Oracle génère des types SQL pour chaque déclaration. Vous pouvez repérer ces Types parce que leurs noms commencentSYS_PLSQL_
suivie par des identifiants numériques.OriginalL'auteur APC