SESSION TRANSACTION - Basic Teradata Query

Basic Teradata Query リファレンス

Product
Basic Teradata Query
Release Number
16.20
Published
2018年4月
Language
日本語
Last Update
2019-07-11
dita:mapPath
ja-JP/kil1527114222313.ditamap
dita:ditavalPath
ja-JP/kil1527114222313.ditaval
dita:id
psp1479308573013
Product Category
Teradata Tools and Utilities

目的

この制御によって、ユーザーは、トランザクションの境界がTeradata SQLの意味またはANSI規格のいずれによって決まるのかを指定できます。

構文



次のような場合に当てはまります。

ANSI
ANSI規格(暗黙的トランザクションの開始とCOMMITまたはROLLBACKによる明示的トランザクションの終わり)によって決まる。
BTET
Teradata SQLの意味(BEGIN TRANSACTIONとEND TRANSACTION)によって決まる。

BTETモードは、Teradataモードと呼ぶこともあります。

使用上の注意

TRANSACTIONのオプションの現在の設定については、SHOW CONTROLSコマンドで表示することができます。 詳細は、SHOW CONTROLSを参照してください。

SESSION TRANSACTION設定を変更する前に、すべてのTeradata Databaseセッションをログオフする必要があります。 そうしないと、現在の設定が有効のまま残り、BTEQに次の警告メッセージが表示されます。

*** Warning: You must not be logged on to change the SQLFLAG or TRANSACTION settings.

ログオンが正常に終了すると、次のように表示されます。

*** Transaction semantics are "%s"

"%s"は、Teradata Databaseのデフォルト値およびSESSION TRANSACTIONコマンドで指定した値に応じて、BTETかANSIの文字列になります。

TRANSACTIONのオプションは、トランザクションの境界を定めるほかに、次の機能にも影響を及ぼします。
  • 文字列の代入に関する切り捨ての規則
  • 文字列の比較に関するデフォルトの規則
  • CREATE TABLE文でのデフォルト(SETまたはMULTISET)。 Teradataモードでは、SETがデフォルトであり、ANSIモードでは、MULTISETがデフォルトです。

ANSIモードおよびBTETモード(Teradataモード)における実行の詳細については、<SQL基礎、B035-1141>を参照してください。

SESSION TRANSACTIONコマンドはTeradata SQLマクロでは使用できません。

例1 – SESSION TRANSACTION

Teradata SQLの意味に従ってトランザクションの境界を指定するには、次のように入力します。

.set session trans BTET;

例2 – SESSION TRANSACTION

ANSI標準に従ってトランザクションの境界を指定するには、次のように入力します。

.set session trans ANSI:
このコマンドを入力する場合には、SETとSESSIONの両方のキーワードを省略することができます。

BTEQの応答

エラー条件が検出されたときに、SESSION TRANSACTIONコマンドの設定に従って表示されます。