SQL для Oracle, чтобы проверить, существует ли ограничение
В SQL Server я могу использовать SQL ниже, чтобы проверить, существует ли ограничение, и если это первичный ключ, триггер и т.д.
SELECT *
FROM dbo.sysobjects
WHERE id = OBJECT_ID(N'[SCHEMA].[TABLENAME]')
AND OBJECTPROPERTY(id, N'IsPrimaryKey') = 1
Что такое эквивалент Oracle, потому что мой запрос использует специальные таблицы SQL Server для поиска ответа.
Ответы
Ответ 1
SELECT * FROM USER_CONSTRAINTS WHERE CONSTRAINT_NAME = 'CONSTR_NAME';
THE CONSTRAINT_TYPE
расскажет вам, что это за противник
- R - ссылочный ключ (внешний ключ)
- U - уникальный ключ
- P - Основной ключ
- C - Проверить ограничение
Чтобы узнать, является ли объект триггером, вы можете запросить USER_OBJECTS
. OBJECT_TYPE
расскажет вам, является ли объект триггером, представлением, процедурой и др.