Database Oracle集合描述深度已过时(替换)
我在Oracle文档中找不到以下命令的新版本的任何引用:Database Oracle集合描述深度已过时(替换),database,oracle,Database,Oracle,我在Oracle文档中找不到以下命令的新版本的任何引用: SET描述深度3 第89行:“设置描述深度3”已过时。 如何在较新版本的Oracle数据库中实现这一点 它应该模仿对象类型的行为,例如 CREATE OR REPLACE TYPE ADDRESSES AS OBJECT ( street VARCHAR2 (25), house_no NUMBER(2) ); CREATE OR REPLACE TYPE PEOPLE AS OBJECT ( n
SET描述深度3
第89行:“设置描述深度3”已过时。
如何在较新版本的Oracle数据库中实现这一点
它应该模仿对象类型的行为,例如
CREATE OR REPLACE TYPE ADDRESSES AS OBJECT (
street VARCHAR2 (25),
house_no NUMBER(2)
);
CREATE OR REPLACE TYPE PEOPLE AS OBJECT (
name VARCHAR2 (15),
address ADDRESSES,
MAP MEMBER FUNCTION Equals RETURN VARCHAR2,
MEMBER FUNCTION PeopleToString RETURN VARCHAR2,
PRAGMA RESTRICT_REFERENCES (PeopleToString, RNDS, WNDS, RNPS, WNPS)
)
NOT FINAL;
CREATE TABLE Locations (
pseudo VARCHAR2(15) CONSTRAINT pk_xyz_table PRIMARY KEY
CONSTRAINT fk_loc_xyz REFERENCES XYZ(pseudo),
person PEOPLE
);
SET DESC DEPTH 3
DESC Locations
PSEUDO NOT NULL VARCHAR2(15)
PEOPLE
PEOPLE IS NOT FINAL
NAME VARCHAR2(15)
ADDRESS ADRESSES
STREET VARCHAR2(25)
HOUSE_NO NUMBER`
根据和我的测试,
SET DESC DEPTH n
在SQL*Plus中没有过时
问题似乎在于Oracle SQL Developer对SQL*Plus的拙劣模仿。这些缺陷就是为什么集成开发环境尝试克隆SQL*Plus是危险的
SQL*Plus不是一个很好的工具。它的主要优点是跨多个平台的兼容性。“运行脚本”的方法有很多种,很高兴有一种你知道对每个人都适用的方法
不接受模仿-如果您需要SQL*Plus,请使用真实版本。
设置描述深度n
在我的SQL*Plus上运行良好。你用的是什么客户机?您使用的是真正的SQL*Plus还是其他IDE的仿制品?是的,您是对的。这是因为SQL开发人员。我可能应该首先在sql*plus中检查它。非常感谢。