我知道可以查询Oracle数据库中用户表的主键是什么。但是我该如何为系统表执行此操作,例如知道class _MyClassDeque(object):
def __init__(self):
self.Q = deque()
def add(self, elem):
self.Q.append(elem)
class _MyClassHeap(object):
def __init__(self):
self.Q = []
def add(self, elem):
heappush(self.Q, elem)
def MyClass(choose=True):
return _MyClassDeque() if choose else _MyClassHeap()
表的主键是什么?
答案 0 :(得分:0)
“用户表”和“系统表”之间没有区别 - 它们的主键都可以以相同的方式从数据字典中查询。
然而, all_objects
不是一个表 - 它是一个观点。因此,它没有主键,因此您无法查询它。
答案 1 :(得分:0)
找出实际表格的第一个。
对SELECT * FROM ALL_TABLES;
做一个解释计划你会看到SYS.OBJ $的扫描 - 这是你正在寻找的表。
从ALL_CONSTRAINTS查询“P”类型的约束不会显示该表的任何条目,因此该表上没有主键。
我不认为这是你真正的问题。你真的想要得到什么?
顺便说一下,视图实际上可以在它们上定义约束,这是我认为10g以来的一个特性。