Отображение ограничений в таблице - PullRequest
11 голосов
/ 03 декабря 2009

Здравствуйте. Я пытаюсь отобразить ограничения в одной из моих таблиц, но по какой-то причине я получаю сообщение без выбранных строк. Ниже приведена таблица, которую я создал.

Create table Teams (
   TeamID varCHAR2(4) constraint Teams_TeamID_PK Primary Key,
   TeamName VARCHAR2(40) 
);

Это код, который я использую, чтобы показать свои ограничения.

SELECT constraint_name, 
       constraint_type,
       search_condition
  FROM USER_CONSTRAINTS
 WHERE table_name = 'Teams';

Я новичок, поэтому хочу убедиться, что понимаю, что не так. Я пытался отбросить таблицу, думая, что мои ограничения не были приняты - я не получил и не получил никаких ошибок при создании таблицы и обращении к TeamID в другой таблице. Поэтому, когда я пытаюсь отбросить таблицу, я получаю сообщение об ошибке, когда это то, на что я надеялся.

Ответы [ 6 ]

20 голосов
/ 03 декабря 2009

Попробуйте это:

SELECT constraint_name, 
       constraint_type,
       search_condition
  FROM USER_CONSTRAINTS
 WHERE table_name = 'TEAMS';

Если после создания двойные кавычки не созданы, все имена объектов в Oracle являются заглавными.

3 голосов
/ 21 марта 2014

Используйте следующий код:

show create table table_name;
2 голосов
/ 04 ноября 2016

Я лично использую:

SELECT * FROM all_constraints WHERE Table_Name = <TableName>;
1 голос
/ 03 декабря 2009
select dbms_mview.get_ddl('TABLE',USER,'TEAMS') from dual;
1 голос
/ 03 декабря 2009

Если вы предпочитаете имена CamelCase, сценарий создания таблицы должен быть:

Create table "Teams" ( 
  "TeamID" varCHAR2(4) constraint "Teams_TeamID_PK" Primary Key, 
  "TeamName" VARCHAR2(40)  
); 

Без двойных кавычек Oracle услужливо преобразует все идентификаторы в верхний регистр :)

0 голосов
/ 13 апреля 2017

Введите имя таблицы в верхнем регистре в условии where в одинарных кавычках.

например. WHERE table_name = 'TEAMS';

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...