プロシージャのDDL文の使用法に関する考慮事項 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage
  • プロシージャでDDL COMMENT文を使用できます。DML COMMENT文は指定できません。この文は、組み込みSQLアプリケーションでデータベース オブジェクト、テーブルの列、およびパラメータを取り出す場合にのみ使用されます。
  • キュー テーブル形式のCREATE TABLE(CREATE TABLE(キュー テーブル形式)を参照)は、プロシージャで実行できません。それ以外の形式のCREATE TABLE文はすべて有効です。
  • プロシージャにCREATE VOLATILE TABLE文が組み込まれると、ユーザーのデータベースに揮発テーブルが作成されます。データベースに同名のオブジェクトがすでに存在する場合、実行時例外が出されます。

    揮発テーブルを参照するプロシージャ内のDML文は、ユーザーのログイン データベースを修飾子として持つか、または修飾するデータベース名を何も持たないかのいずれかでなければなりません。

  • プロシージャ内のCREATE DATABASE文またはCREATE USER文にはFROM句が含まれていなければなりません。文の結果は、次の表に示すとおり、FROM句の有無によって異なります。
    プロシージャ内のFROM句の有無 結果
    FROM句を含む 指定されたデータベースは、ユーザーまたは作成されたデータベースの直接の所有者になります。
    FROM句を含まない システムは、プロシージャの作成時にSPLのコンパイル エラーを報告します。

    プロシージャ内の動的SQL文としてFROM句を含まないCREATE USER文またはCREATE DATABASE文を指定する場合、プロシージャの実行時に出される例外と同じエラーが報告されます。