17.05 - 例で使用する制約の定義 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-175K-JPN
Language
日本語 (日本)
Last Update
2021-03-30

ここで取り上げる例では、以下の制約とユーザーの定義を使用します。

以下のSQLテキストでは、制約で可能な4つのステートメント アクションをすべて適用する階層型制約classification_levelを作成します。

     CREATE CONSTRAINT classification_level SMALLINT, NOT NULL,
     VALUES (top_secret:4, secret:3, confidential:2, unclassified:1), 
     INSERT SYSLIB.insert_level,
     UPDATE SYSLIB.update_level,
     DELETE SYSLIB.delete_level,
     SELECT SYSLIB.read_level;

以下のSQLテキストでは、制約で可能な4つのステートメント アクションをすべて適用する非階層型制約classification_categoryを作成します。

     CREATE CONSTRAINT classification_category BYTE(8),  
     VALUES (nato:1, united_states:2, canada:3, united_kingdom:4,
             france:5, norway:6, russia:7), 
     INSERT SYSLIB.insert_category,
     UPDATE SYSLIB.update_category,
     DELETE SYSLIB.delete_category,
     SELECT SYSLIB.read_category;

user_nameを作成します。

     CREATE USER  user_name  AS
     PERMANENT = 1e6, 
     PASSWORD=my_pwd,
     CONSTRAINT = classfication_level (top_secret),
     CONSTRAINT = classification_category (united_states);

ユーザーplsを作成します。

     CREATE USER  pls  AS
     PERMANENT = 1e6, 
     PASSWORD=secret,
     CONSTRAINT = classification_level (secret, unclassified DEFAULT),
     CONSTRAINT = classification_category (united_states);

以下のSQLテキストでは、ユーザーarn_andersonを作成します。

     CREATE USER  arn_anderson  AS
     PERMANENT = 1e6, 
     PASSWORD=Arn2222ANDERSON,
     CONSTRAINT = classification_category (norway);