18.3.5 出力変数の設定(ネイティブインタフェース版限定)
1行検索,及びCALL文のOUTパラメタで使用する出力変数は,出力変数の初期値によって,サーバへ実行要求をするときのSQL記述領域に設定するデータの長さが変わります。各データ型の初期値とSQL記述領域に設定されるデータの長さを次の表に示します。
データ型 |
初期値 |
SQL記述領域に設定されるデータの長さ |
---|---|---|
HiRDBCHAR |
変数 = null; |
30,000バイト |
変数 = new HiRDBCHAR(int n); |
nバイト(1≦n≦30,000) |
|
変数 = new HiRDBCHAR(String t); |
tの長さ(t.getBytes()で得られるbyte配列の長さ) |
|
HiRDBVARCHAR |
変数 = null; |
32,000バイト |
変数 = new HiRDBVARCHAR(int n); |
nバイト(1≦n≦32,000) |
|
変数 = new HiRDBVARCHAR(String t) |
tの長さ(t.getBytes()で得られるbyte配列の長さ) |
|
HiRDBNCHAR |
変数 = null; |
30,000バイト(全角15,000文字) |
変数 = new HiRDBNCHAR(int n); |
(n*2)バイト(全角n文字)(1≦n≦15,000) |
|
変数 = new HiRDBNCHAR(String t) |
tの長さ(t.getBytes()で得られる(byte配列/2)の長さ) |
|
HiRDBNVARCHAR |
変数 = null; |
32,000バイト(全角16,000文字) |
変数 = new HiRDBNVARCHAR(int n); |
(n*2)バイト(全角n文字)(1≦n≦16,000) |
|
変数 = new HiRDBNVARCHAR(String t) |
tの長さ(t.getBytes()で得られる(byte配列/2)の長さ) |
|
HiRDBMCHAR |
変数 = null; |
30,000バイト |
変数 = new HiRDBMCHAR(int n); |
nバイト(1≦n≦30,000) |
|
変数 = new HiRDBMCHAR(String t) |
tの長さ(t.getBytes()で得られるbyte配列の長さ) |
|
HiRDBMVARCHAR |
変数 = null; |
32,000バイト |
変数 = new HiRDBMVARCHAR(int n); |
nバイト(1≦n≦32,000) |
|
変数 = new HiRDBMVARCHAR(String t) |
tの長さ(t.getBytes()で得られるbyte配列の長さ) |
|
HiRDBDECIMAL |
変数 = null; |
精度15,位取り0 |
変数 = new HiRDBDECIMAL(int p,int s); |
精度p,位取りs(1≦p≦38,0≦s≦p) |
|
変数 = new HiRDBDECIMAL(String t) |
精度は,tから符号及びピリオドを除いた文字列長です。位取りは,ピリオド以降の文字列長(ピリオドは含まない)。 |
|
変数 = newHiRDBDECIMAL(java.math.BigDecimal t) |
精度は,tからtoString()で取り出した文字列の符号及びピリオドを除いた文字列長です。位取りは,BigDecimalオブジェクトのscale()メソッドで取り出した値です。 |
|
HiRDBBLOB |
変数 = null; |
1メガバイト |
変数 = new HiRDBBLOB(int n); |
nバイト(1≦n≦2,147,483,647) |
|
変数 = new HiRDBBLOB(byte[] t) |
tの長さ |
|
HiRDBBINARY |
変数 = null; |
1メガバイト |
変数 = new HiRDBBINARY(int n); |
nバイト(1≦n≦2,147,483,647) |
|
変数 = new HiRDBBINARY(byte[] t) |
tの長さ |
|
Java.math.BigDecimal |
変数 = null; |
精度15,位取り0 |
変数 = new java.math.BigDecimal; |
精度には,BigDecimalオブジェクトからtoString()で取り出した文字列の符号及びピリオドを除いた文字列長を設定します。位取りには,scale()メソッドで取り出した値を設定します。 |
|
byte[] |
変数 = null; |
1メガバイト |
変数 = new byte[int n] |
nバイト(1≦n≦2,147,483,647) |