
oracle9iのpl/sqlでSELECT文を発行し
取得したカーソルを返す処理をしています。
where句が動的になる為
実行するSQL文が長くなり
ORA-06502: PL/SQL: 数値または値のエラー:
文字列バッファが小さすぎます。が発生しました
のエラーが発生します。
そこで、SQL文の部分をCLOB型にしたり
SQL文を「||」でつなげたり
してみましたが、どちらもエラーになりました。
長すぎるSQL文を実行するには
どうしたらよいでしょうか?
以下ソースです。(左側の数字は行数です)
-----------------------------------
1 PROCEDURE テスト(O_カーソル IN OUT 情報カーソル) IS
2 TYPE curType IS REF CURSOR;
3 tmpCur curType;
4 sqlStrVARCHAR2(32767);
5
6
7 BEGIN
8
9 sqlStr := 'SELECT '
10 sqlStr := sqlStr || 'A,B '
11 sqlStr := sqlStr || 'FROM'
<<省略>>
12 OPEN tmpCur FOR sqlStr←エラー発生
13O_カーソル := tmpCur;--取得したカーソルを返す
14 END テスト;
-----------------------------------
(1)SQL文をCLOB型にしてみる:コンパイルエラー
4 sqlStrCLOB
(2)SQL文を「||」でつなげてみる:文字列バッファが小さすぎますでエラー
Dim sqlStr1VARCHAR2(32767);
Dim sqlStr2VARCHAR2(32767);
Dim sqlStr3VARCHAR2(32767);
<<省略>>
12 OPEN tmpCur FOR
(sqlStr1
|| sqlStr2
|| sqlStr3
<<省略>>
)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Oracleでの文字列連結サイズの上限
Oracle
-
PL/PCLでORA-06502のエラー
Oracle
-
長いSQL文を実行するには?
Oracle
-
-
4
PL/SQL ORA-06502エラーに関して(動的SQL)
その他(データベース)
-
5
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
6
Statement ignored というエラー
Oracle
-
7
OracleのSQL*PLUSで、データが折り返されて見づらいのですが。。。
その他(データベース)
-
8
ORA-06502のエラー
Oracle
-
9
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
10
PL/SQLでログを確認したい。
Oracle
-
11
PL/SQLで@ファイル名が反応しません
Oracle
-
12
selectした結果の余計な余白を取るにはどうしたらよいのでしょうか
Oracle
-
13
sqlplusでヘッダーが付かない
Oracle
-
14
キャッシュを使わずにSELECTを投げたい
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ORA-01013のエラーについて経験...
-
ORA-01843: 指定した月が無効で...
-
【PL/SQL】SQL文が長すぎてSELE...
-
CASE文のエラーについて
-
PL/SQL PLS-00103エラーについて
-
PL/SQLのコンパイルエラーにつ...
-
はじめまして!
-
SQLLOADER
-
シェルスクリプトでオラクルの...
-
ビューが作成できない
-
ストアドファンクションの実行
-
PL/PCLでORA-06502のエラー
-
PL/SQLでPLS-00201のエラー
-
HAVING句でのBETWEEN演算子
-
無効なSQL文の具体例を教えてく...
-
オラクルエラー
-
SQLのSP2-エラーについて
-
ORA-06502のエラー
-
PL/SQLによるCREATE TABLE後のI...
-
TO_DATE関数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ORA-01013のエラーについて経験...
-
CASE文のエラーについて
-
はじめまして!
-
PL/SQL PLS-00103エラーについて
-
「ORA-00907: 右カッコがありま...
-
ORA-01843: 指定した月が無効で...
-
ORA-06502のエラー
-
PCC-S-02201エラーの対処を教え...
-
シェルスクリプトでオラクルの...
-
PL/SQLによるCREATE TABLE後のI...
-
DATABSE LINKについて
-
PL/SQLのコンパイルエラーにつ...
-
エラーコードについて
-
SQLLOADER
-
sqlのエラーハンドリングについ...
-
ビューが作成できない
-
データベースのカラムの型がCHA...
-
ORA-12571パケット書き込みエラ...
-
PL-SQLでORA-01013エラー
-
PL/SQLでPLS-00201のエラー
おすすめ情報