17.10 - 外部セキュリティ句 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)

この句はオペレーティング システムI/Oを実行するすべての外部プロシージャで必須です。I/Oを実行するプロシージャにこの句を指定しないと、予期しない結果が生成されることがあり、(システム全体ではないものの)データベースがリセットされてしまうことさえあります。

authorization_nameは、ANSI SQL:2011規格に対するTeradataのオプションの拡張機能であることに注意する必要があります。

プロシージャ定義がEXTERNAL SECURITY DEFINERを指定すると、そのプロシージャは次のいずれかの環境で実行されます。
  • その目的で作成された、関連するセキュリティ文の指定されたOSプラットフォーム ユーザーのコンテキスト。
  • プロシージャが定義されているのと同じデータベースまたはユーザー。
次のルールが適用されます。
  • 許可名を指定しない場合は、ユーザーがメソッドの実行を試行する前にデフォルトのDEFINER許可名を作成する必要があります(CREATE AUTHORIZATIONおよびREPLACE AUTHORIZATIONを参照)。
  • 許可名を指定した場合は、プロシージャを実行する前にその名前のオブジェクトを作成しなければなりません。

    プロシージャの作成時に許可名が存在しない場合、システムはリクエスト側に警告メッセージを返します。