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 расскажет вам, является ли объект триггером, представлением, процедурой и др.