サポートされているDML文
ストアド プロシージャ内では、以下のSQL DML文を使用できます。
- ABORT
- BEGIN TRANSACTION
- END TRANSACTION
- CALL
- CLOSE
- COLLECT STATISTICS(QCD形式)
- COMMIT
- DECLARE CURSOR(選択形式)
- DELETE(すべての形式)
- DROP STATISTICS(QCD形式)
- FETCH
- INSERT
- MERGE
- OPEN
- ROLLBACK
- SELECT (カーソルの場合のみ)
- SELECT AND CONSUME TOP 1 (定位置カーソル内のみ)
- SELECT INTO
- SELECT AND CONSUME TOP 1 INTO
- UPDATE (検索形式、定位置形式、およびアップサート形式のものを含む)
サポートされていないDML文
ストアド プロシージャ内では、以下のSQL DML文は使用できません。
- CHECKPOINT
- COLLECT DEMOGRAPHICS
SQL文の実行の制限
CREATE/REPLACE PROCEDURE文のSQL_data_access句では、ストアド プロシージャがSQL文を発行できるかどうか、どの種類のSQL文が発行できるのかを示します。SQL_data_access句のオプションは、次のとおりです。
オプション | ストアド プロシージャが実行できるSQL文 |
---|---|
CONTAINS SQL | SQL制御文。ストアド プロシージャから、SQLデータの読み取り、または変更はできません。 |
READS SQL DATA | FETCH文などの、SQLデータを読み取る文。ストアド プロシージャから、SQLデータの変更はできません。 |
MODIFIES SQL DATA | UPDATE、INSERTまたはDELETE文など、ストアド プロシージャから呼び出し可能なすべてのSQL文。SQL_data_access句がCREATE/REPLACE PROCEDURE文に含まれていない場合は、これがデフォルトになります。 |
システムは、次に示す例外を返します。
オプション | 試行内容 | 返されるメッセージ |
---|---|---|
CONTAINS SQL | SQLデータの読み取りや変更。または、SQLデータの読み取りや変更を試行するプロシージャの呼び出し。 | ‘2F004’ reading SQL-data not permitted。 |
READS SQL DATA | SQLデータの変更。または、SQLデータの変更を試行するプロシージャの呼び出し。 | ‘2F002’ modifying SQL-data not permitted。 |
関連情報
- DML文の詳細について、<Teradata Vantage™ - SQLデータ操作言語、B035-1146>を参照してください。
- SQL_data_access句の詳細については、<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>の「CREATE PROCEDURE(SQL形式)/REPLACE PROCEDURE」を参照してください。
- SQL_data_access例外の詳細について、SQLコミュニケーション領域(SQLCA)のSQLCODEからSQLSTATEへのマッピングを参照してください。
- サポートされているDML文の詳細について、<Teradata Vantage™ - SQLデータ操作言語、B035-1146>を参照してください。