Pourquoi Oracle nécessitent un alias de colonnes dans une vue lors de la référence à un objet?
Pourquoi Oracle nécessitent un alias de colonnes dans une vue lors de la référence à un objet?
Par exemple:
CREATE VIEW view AS SELECT t.eno, t.workdept.dname, t.salary FROM table t
*
ERROR at line 1:
ORA-00998: must name this expression with a column alias
(workdept est une référence d'objet)
Cela peut être corrigé en changeant t.workdept.dname
à t.workdept.dname AS alias
.
Ma question est, pourquoi est-il appliqué? Pourquoi ne pas simplement utiliser des le nom de l'attribut workdept.dname
que se passerait-il dans un unaliased sélectionnez e.g:
SELECT t.eno, t.workdept.dname, t.salary FROM table t
(Ce qui fonctionne très bien)
OriginalL'auteur jsj | 2012-10-28
Vous devez vous connecter pour publier un commentaire.
Premier toujours utiliser des alias.
Deuxième, voici l'oracle raison pour laquelle, concernant les points de vue:
http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_8004.htm
Oracle considère un objet de référence comme une expression, pas une colonne de table.
OriginalL'auteur deleted_user