【发布时间】:2014-11-16 13:32:27
【问题描述】:
我想查看在表的同义词中定义的约束。
当一个类型
SQL> DESCRIBE table_name;
它只显示每列的数量、非空标志和大小。我怎样才能知道每列的所有约束?我怎样才能知道同义词是公共的还是私有的?
谢谢, 阿尔瓦罗。
解决方案
有了@Aramillo 的帮助并根据我的需要调整它,我想出了如何去做。我想查看为表定义的约束,但不是根据 USER。有两个选项,ALL_CONSTRAINTS 和 ALL_CONS_COLUMNS。
ALL_CONSTRAINTS 没有列 COLUMN_NAME 以便知道约束设置为的列名称。 [ALL_CONS_COLUMNS] 有。
查询:
SELECT * FROM all_cons_columns WHERE table_name = 'table_name';
关于私有或公共同义词,如上面的链接所说,
ALL_CONSTRAINTS/ALL_CONS_COLUMNS 描述了当前用户可访问的表的约束定义。
所以我猜它是否显示同义词是公开的数据,或者您是私有同义词的正确用户。
【问题讨论】:
标签: sql oracle constraints sqlplus synonym