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で質問しましょう!
似たような質問が見つかりました
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Excel(エクセル) EXCELの「接続」のSQLのコマンド文字列にて、セルから任意の数値を利用したい 2 2023/03/09 16:43
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Oracle Oracleですがsqlで質問です。 サブクエリ内で番号というカラムで昇順の1レコード目を取得したい 3 2023/05/22 10:02
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
長いSQL文を実行するには?
Oracle
-
Oracleでの文字列連結サイズの上限
Oracle
-
PL/SQL ORA-06502エラーに関して(動的SQL)
その他(データベース)
-
-
4
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
5
CLOB型へのINSERT
Oracle
-
6
ORACLEから各テーブルをCSV形式で出力するコマンド
Oracle
-
7
ROWNUMでUPDATEをしたいのですが・・・。
Oracle
-
8
ORA-06502のエラー
Oracle
-
9
異なるスキーマからデータを抽出するには?oracl、PL/SQL
Oracle
-
10
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
11
oracleのinsert select性能
Oracle
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PL/SQLによるCREATE TABLE後のI...
-
グループ関数のエラーについて
-
ORA-1403
-
オラクル表領域データファイル...
-
ORA-01013のエラーについて経験...
-
【PL/SQL】SQL文が長すぎてSELE...
-
SQLLOADER
-
ストアドファンクションの実行
-
Dynabook T351/46CW のエラーコ...
-
増設したHDDに、新たにDtoD領域...
-
SQL*Plusで、コマンドの返答を...
-
テスト環境構築
-
Windows10の再起動はどれ位の周...
-
oracleの自動undo管理モードに...
-
データベースオブジェクトの考...
-
SQL*PLUSを終了させる方法
-
ファイルへの書き込みができない
-
Oracleの起動時に、マウントし...
-
古いPCをVer.UPしたいのですが・・
-
「Fパラメータ」が出力端「開放」「...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ORA-01013のエラーについて経験...
-
CASE文のエラーについて
-
PL/SQLのコンパイルエラーにつ...
-
「ORA-00907: 右カッコがありま...
-
PL/SQL PLS-00103エラーについて
-
はじめまして!
-
シェルスクリプトでオラクルの...
-
PCC-S-02201エラーの対処を教え...
-
ストアドファンクションの実行
-
HAVING句でのBETWEEN演算子
-
ORA-01843: 指定した月が無効で...
-
ORA-06502のエラー
-
DATABSE LINKについて
-
PL/SQLでPLS-00201のエラー
-
sqlのエラーハンドリングについ...
-
PL/SQLによるCREATE TABLE後のI...
-
SQLLOADER
-
ACCESSでパススルークエリにパ...
-
PL-SQLでORA-01013エラー
-
無効なSQL文の具体例を教えてく...
おすすめ情報