在SQL Server中,我可以使用下面的SQL检查是否存在约束,以及它是否为主键,触发器等。
SELECT *
FROM dbo.sysobjects
WHERE id = OBJECT_ID(N'[SCHEMA].[TABLENAME]')
AND OBJECTPROPERTY(id, N'IsPrimaryKey') = 1
Oracle的等价物是什么,因为我的查询使用SQL Server特定的表来查找答案。
答案 0 :(得分:28)
SELECT * FROM USER_CONSTRAINTS WHERE CONSTRAINT_NAME = 'CONSTR_NAME';
CONSTRAINT_TYPE
会告诉你它是什么类型的约束
要查明某个对象是否为触发器,您可以查询USER_OBJECTS
。 OBJECT_TYPE
将告诉您对象是触发器,视图,过程等等。