CREATE MACROおよびREPLACE MACRO - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/ncd1596241368722.ditamap
dita:ditavalPath
ja-JP/ncd1596241368722.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

頻繁に使用される文、または複雑な操作を実行する文のセットを定義します。マクロに定義された文は、以降のEXECUTE文でマクロを起動した場合に実行依頼されます。

REPLACE MACROは既存のマクロを再定義します。指定したマクロが存在しない場合、REPLACE MACROはその名前の新しいマクロを作成します。

CREATE MACROに必要な権限

マクロが作成されるデータベースまたはユーザーに対するCREATE MACRO権限が必要です。マクロの作成者には、そのマクロに対するWITH GRANT OPTION付きのDROP MACROおよびEXECUTE権限が自動的に与えられます。

マクロを作成するユーザーには、実行するすべての文に対する権限が必要です。

マクロが作成された後は、その直接の所有者は作成したユーザーではなく、マクロが存在するデータベースまたはユーザーになります。それを直接所有するデータベースまたはユーザーには、WITH GRANT OPTIONを含めマクロを実行するための適切な権限がすべて必要です。

マクロを介したデータへのアクセスは、その作成者の権限によってではなく、直接の所有者の権限によって制御されます。このことは、セキュリティ上の問題となることがあります。詳細については、Teradata Vantage™ - SQLデータ制御言語、B035-1149を参照してください。

マクロを実行するユーザーは、その実行によって影響を受けるテーブルを知る必要はありません。

REPLACE MACROに必要な権限

マクロを置換するには、その既存のマクロ、それを含むデータベース、またはユーザーに対するDROP MACRO権限が必要です。

マクロが存在しない場合には、そのマクロ、それを含むデータベース、またはユーザーに対するCREATE MACRO権限が必要です。

マクロを置換するユーザーには、実行するすべての文に対する権限が必要です。

マクロが置換された後は、その直接の所有者は置換したユーザーではなく、マクロが存在するデータベースになります。 それを直接所有するデータベースには、WITH GRANT OPTIONを含めマクロを実行するための適切な権限がすべて必要です。

自動的に与えられる権限

次の権限が、マクロの作成者に自動的に与えられます。
  • DROP MACRO
  • EXECUTE
  • GRANT