16.20 - CONSTRAINT - Teradata Database - Teradata Vantage NewSQL Engine

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-162K-JPN
Language
日本語 (日本)

プロファイルごとに割り当てることができるのは、最大6個の階層型制約と2個の非階層型制約までです。

制約がユーザーにすでに割り当てられている場合、制約に対し指定するレベル名またはカテゴリ名によってすべての既存の指定が置換されます。

変更は、ユーザー定義が変更された後に次のユーザー ログオン時に有効になります。

行レベル セキュリティ制約の詳細は、CREATE CONSTRAINTを参照してください。

row_level_security_constraint_name
既存の行レベル セキュリティ制約の名前。その後にuser_nameに割り当てられている、制約に有効な階層レベルまたは非階層カテゴリのリストが続きます。
level_name
階層レベルのリスト。
category_name
非階層カテゴリのリスト
DEFAULT
DEFAULTは階層制約のレベルの指定リストの1つの分類レベルに対して指定できます。ここで指定するレベルは、プロファイルが割り当てられるユーザーのセッションが確立される際に、制約のデフォルト値になります。
リストされている分類レベルに対してDEFAULTを指定しない場合、リストされている最初のレベルがプロファイルのデフォルトになります。
DEFAULTは非階層制約に有効ではありません。
NULL
以前ユーザーに以前割り当てられた制約に対しNULLを指定した場合、その制約はユーザー定義から削除されます。

例: MODIFY USER文でのセキュリティ制約割り当ての追加または削除

MODIFY USER文でユーザーのセキュリティ制約割り当てを変更できます。指定するセキュリティ制約に応じて、次のようになります。
  • 現在ユーザーに割り当てられていないセキュリティ制約を指定した場合は、すべての既存の制約にその制約が追加されます。
  • すでにユーザーに割り当てられているセキュリティ制約を指定した場合は、既存の指定が新しい指定で置き換えられます。
  • すでにユーザーに割り当てられているセキュリティ制約を指定して、その後にキーワードNULLを指定した場合は、その制約の割り当てがユーザーから削除されます。

例:

MODIFY USER
   Joe_Smith AS
   CONSTRAINT =  Classification_Level 
 (TopSecret, Unclassified DEFAULT),
   CONSTRAINT = Classification_Country (NULL)
   CONSTRAINT = Classification_Job (Analyst) ;

条件:

構文要素 説明
Classification_Level(TopSecret, Unclassified DEFAULT) DEFAULT非機密レベルを維持しながら、以前に割り当てられていたSecretをTopSecretに置き換えて、ユーザー分類レベルを引き上げます。
Classification_Country (NULL) ユーザーに以前に割り当てられたClassification_Country制約の割り当てを削除します。
Classification_Job (Analyst) 新しい階層カテゴリClassification_Jobを追加し、分析者分類レベルを割り当てます。
新規または変更されたセキュリティ制約の割り当ては、次回のユーザー ログオンで有効になります。