我在Oracle文档中找不到对以下命令的新版本的任何引用:
SET DESCRIBE DEPTH 3
line 89: "SET DESCRIBE DEPTH 3" is Obsolete.
如何在较新版本的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`
答案 0 :(得分:2)
SET DESC DEPTH n
在SQL * Plus中并没有过时。
问题似乎是Oracle SQL Developer对SQL * Plus的模仿不佳。这些错误是集成开发环境尝试克隆SQL * Plus的危险原因。
SQL * Plus不是一个很棒的工具。它的主要优点是它在许多平台上的兼容性。有很多方法可以“运行一个脚本”,很高兴有一个你知道的方法对每个人来说都是一样的。
不接受模仿 - 如果你需要SQL * Plus,请使用真实的东西。