データ タイプ

TDV は、SQL スクリプトでいくつかのデータ タイプをサポートしています。

SQL がサポートするすべての文字列、数値、日付、時刻、および TIMESTAMP データ タイプに加えて、BLOB、CLOB、ROW、および XML。詳細については、「サポートされているデータ タイプ」を参照してください。
カスタム データ タイプ。SQL スクリプトを使用すると、利便性と明確さのためにカスタム データ タイプを宣言できます。ローカルで宣言するか、PUBLIC にすることができます。詳細については、「DECLARE TYPE」を参照してください。

次の ガイドラインは、TDV データ タイプのサポートに適用されます。

PUBLIC 型への参照は、完全に修飾する必要があります。このような参照は、ターゲットのデータ タイプが有効であればどこでも有効です。
プロシージャ パラメーター宣言で PIPE という名前の 修飾子を使用して、出力をパイプライン処理 (ストリーミング) できます。詳細については、「PIPE 修飾子」を参照してください。
カスタム データ タイプを宣言した後は、組み込み型を使用できるスクリプト内の任意の場所でその名前を使用できます。
別のプロシージャの PUBLIC 型にアクセスするには、そのプロシージャへの完全修飾パス、ピリオド、型の名前を指定します。

サポートされているデータ タイプ

次の表に、SQL スクリプトでサポートされているすべてのデータ タイプを示します。前述のように、オプションのサイズを持つすべてのタイプにはデフォルト値があります。

データ タイプ

範囲または値のリスト

整数数値型

BIT

0 または 1

TINYINT

-128 〜 127

SMALLINT

-32768〜32767

INTEGER

-231 から +231 -1

INT

INTEGER のエイリアス

BIGINT

-263 から +263 -1

非整数の数値タイプ

FLOAT

約7 桁の精度の浮動小数点

REAL

FLOAT のエイリアス

DOUBLE

約17 桁の精度の浮動小数点

DECIMAL[(p,s)]

合計で最大 p (精度) 桁、小数点の右側に最大 s (スケール) 桁の精度の数値を修正しました。デフォルト:DECIMAL(32,2)

NUMERIC[(p,s)]

デフォルトが NUMERIC(32,0) であることを除いて、DECIMAL と同じです。

日付と時刻のタイプ

DATE

 

TIME

 

TIMESTAMP

 

文字列とバイナリ タイプ

CHAR[(n)]

スペースが埋め込まれた、正確に n 文字の文字列。n のデフォルト:255

VARCHAR[(n)]

または、CLOB

最大 n 文字のパディングされていない文字列。n のデフォルト:255

BINARY[(n)]

正確に n バイトのバイナリ文字列で、必要に応じてゼロのバイトが右に埋め込まれます。n のデフォルト:255

VARBINARY(n)
または、BLOB

最大 n バイトのパディングされていないバイナリ文字列。n のデフォルト:255

その他のタイプ

BOOLEAN

TRUE または FALSE の値。(「BOOLEAN」は有効な値ではありません。)

CURSOR

型指定されていないカーソル (フィールドのリストが提供されていないため)

CURSOR (...)

フィールドのセット (「カラム」) として定義されたカーソル

CURSOR(rowType)

(フィールドを直接指定する代わりに) ROW 型を参照することによって宣言された CURSOR

ROW(...)

フィールドのセット (「カラム」とも呼ばれます)

XML [ (
{DOCUMENT | CONTENT | SEQUENCE}
[ (ANY | UNTYPED |
XMLSCHEMA schema-details) ]
) ]

スキーマ-詳細:

URI target-namespace-uri
[ LOCATION schema-location ]
[ { ELEMENT element-name
| NAMESPACE namespace-uri
[ ELEMENT element-name ] } ]

| NO NAMESPACE
[ LOCATION schema-location ]
[ { ELEMENT element-name
| NAMESPACE namespace-uri
[ ELEMENT element-name ] } ]

XMLvalue。デフォルト:「スキーマなし」

target-namespace-uri: 有効な URI を表す文字列リテラル
schema-location: 有効な URI を表す文字列リテラル
namespace-uri: 有効な URI を表す文字列リテラル
element-name: 任意の有効な識別子

例 (カスタム データ タイプの宣言)

後で参照できるように、SQL スクリプトでカスタム データ タイプを宣言できます。

DECLARE TYPE SocialSecurityType VARCHAR (12) ;
DECLARE ssn SocialSecurityType;
DECLARE data ROW (name VARCHAR (40) , ssn SocialSecurityType) ;

例 (カスタム データ タイプの参照)

/shared/examples フォルダー内の TypeSample という名前のプロシージャで、SocialSecurityType という名前の SQL スクリプトでカスタム データ タイプを宣言した場合は、次のように型を参照できます。

DECLARE ssn /shared/examples/TypeSample.SocialSecurityType;

例 (XML データ タイプ)

次のように、SQL スクリプトで XML データ タイプを宣言できます。

cast ('<item> </item>' as XML (SEQUENCE) ) 
cast ('<bar></bar>' as XML (SEQUENCE (ANY) ) ) 
PROCEDURE item () 
BEGIN
DECLARE item 
XML (SEQUENCE (XMLSCHEMA URI LOCATION 'http://www.w3.org/2001/
XMLSchema-instance' [^] ELEMENT xsi) ) ;
END