データ タイプ
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)] |
最大 n 文字のパディングされていない文字列。n のデフォルト:255 |
||||||||||||
BINARY[(n)] |
正確に n バイトのバイナリ文字列で、必要に応じてゼロのバイトが右に埋め込まれます。n のデフォルト:255 |
||||||||||||
最大 n バイトのパディングされていないバイナリ文字列。n のデフォルト:255 |
|||||||||||||
その他のタイプ |
|||||||||||||
BOOLEAN |
TRUE または FALSE の値。(「BOOLEAN」は有効な値ではありません。) |
||||||||||||
CURSOR |
型指定されていないカーソル (フィールドのリストが提供されていないため) |
||||||||||||
CURSOR (...) |
フィールドのセット (「カラム」) として定義されたカーソル |
||||||||||||
CURSOR(rowType) |
(フィールドを直接指定する代わりに) ROW 型を参照することによって宣言された CURSOR |
||||||||||||
ROW(...) |
フィールドのセット (「カラム」とも呼ばれます) |
||||||||||||
XML [ ( スキーマ-詳細: URI target-namespace-uri | NO NAMESPACE |
XMLvalue。デフォルト:「スキーマなし」
|
例 (カスタム データ タイプの宣言)
後で参照できるように、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