例: SQLSTATE結果コードの値を返す - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

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

以下の外部ストアド プロシージャのC関数について考えてみましょう。

void xsp_getregion( VARCHAR_LATIN *region,
                    char           sqlstate[6])
{
     ...
}

SQLSTATE結果コード値を戻すには、sqlstate引数を使用します。

例えば、region引数の値が有効な値でないなら、sqlstate引数の値を次のように設定することにより、データ例外を戻すことができます。

strcpy(sqlstate, "U0005");

BTEQセッションにおいて、この例外は下記の形式で表示されます。ここで、dbnameはこの外部ストアド プロシージャの属するデータベースの名前です。

*** Failure 7504 in UDF/XSP  dbname.xsp_getregion: SQLSTATE U0005: