Oracle 12cでテーブルの制約名を変更する

2021年11月19日

環境
Oracle 12.2.0.1.0

書式
ALTER TABLE テーブル名 RENAME CONSTRAINT 旧制約名 TO 新制約名;

使用例
1.テーブル「USER_TBL」の制約名を調べる

SELECT
  CONSTRAINT_NAME  --制約名
  , CONSTRAINT_TYPE --制約タイプ
  , TABLE_NAME --テーブル名
  , STATUS  --ステータス
FROM
  USER_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'P' AND   TABLE_NAME = 'USER_TBL';

実行結果

CONSTRAINT_NAME	CONSTRAINT_TYPE	TABLE_NAME	STATUS
PK_USER_TBL	    P	            USER_TBL	 ENABLED

2.テーブル「USER_TBL」の制約名(PK_USER_TBL)を(PK_USER_TBL02)に変更する

ALTER TABLE USER_TBL RENAME  CONSTRAINT PK_USER_TBL TO PK_USER_TBL02

3.テーブル「USER_TBL」の制約名を調べる

SELECT
  CONSTRAINT_NAME  --制約名
  , CONSTRAINT_TYPE --制約タイプ
  , TABLE_NAME --テーブル名
  , STATUS  --ステータス
FROM
  USER_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'P' AND   TABLE_NAME = 'USER_TBL';

実行結果

CONSTRAINT_NAME	CONSTRAINT_TYPE	        TABLE_NAME	STATUS
PK_USER_TBL02	P	          USER_TBL	 ENABLED

 

Oracle 12c

Posted by arkgame