
初心者です。
Oracle8、 Pro*Cで開発をしているのですが、下記のSQLでコンパイルエラーが出てしまいます。
SQLPlus上で数値を直値にしては問題なく動くのですが、うまくいきません。
何が問題なのでしょうか?
やろうとしていることは、
m件(iRecordFm)からn件(iMax)までのデータを取得したいのです。
その際にいくつかWhere条件も加えたいのです。
どうぞよろしくお願いいたします。
--【エラー】-----------------------------------------------
PCC-S-02201, 記号"order"が見つかりました。 次のうちの1つが入るとき:
) * +
- / | union, at, connect, and, group, having, intersect,
minus, or, start, with, day, hour, minute, month, second,
year,
記号")" は継続のために"order"に代わりました。
--【コード】-----------------------------------------------
/*ProC(仮) 実際は.cからパラメタで来ます。*/
char cCcd[] = "01";
char cAssignMon[] ="07";
char cToday[] = "2005/06/23";
int iRecordFm = 20;
int iMax = 22;
/*エラーが出るSQL*/
EXEC SQL DECLARE c_fireList CURSOR FOR
SELECT TW.* FROM
(SELECT aaa, bbb, ccc, ddd, eee, ROWNUM AS LINENO FROM mmm
where bbb = :cCcd
and TO_CHAR(eee,'MM') = :cAssignMon
and eee >= TO_DATE(:cToday,'YYYY/MM/DD')
order by eee, aaa) TW
WHERE TW.LINENO >= :iRecordFm and TW.LINENO <= :iMax;
-----------------------------------------------------------
No.1ベストアンサー
- 回答日時:
こんにちわ。
Oracle8 では、インラインビュー (FROM 句にあるTW を定義しているサブクエリ) 内では
order by は書けなかったはずです。
インラインビュー内でorder by が書けるようになったのは、Oracle8i からだっと筈です.
order by をインラインビューから出して再度確認してみて下さい。
今回の場合、order by はインラインビューの外でも問題ないようですし・・・。
こんにちわ。
どうも有り難うございます!!
見事、インラインビューの外に出したらコンパイルがとおりました。
SQL*PLUSでの実行で、ORDER BYを
インラインビューの中に入れたときと、出して書いたときの差分が無いことを確認でき、
大変感謝いたします!
長いこと悩んでいたので、助かりました!
どうも有り難うございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Pro*Cの構文エラー
その他(プログラミング・Web制作)
-
プリコンパイルエラーについて
C言語・C++・C#
-
Pro c/c++ でホスト変数の後に.lenとか.arrの意味は?
C言語・C++・C#
-
-
4
PRO*C コンパイルエラー
C言語・C++・C#
-
5
カーソルオープンでエラー(ORA-01012)
C言語・C++・C#
-
6
変数が選択リストにありません
Oracle
-
7
Statement ignored というエラー
Oracle
-
8
カーソル宣言をIFで分けられませんか?
Oracle
-
9
#if 1 #elseの意味について
C言語・C++・C#
-
10
カーソル0件の時にエラーを発生させる
Oracle
-
11
オラクルのLONG RAW型のテーブルの操作方法と容量計算の仕方
その他(データベース)
-
12
ProCでコンパイルエラーが出ます
C言語・C++・C#
-
13
CASE文のエラーについて
Oracle
-
14
COBOLのCOMP形式について
その他(プログラミング・Web制作)
-
15
【gcc・cygwin】multiple definitionエラーの解決法
C言語・C++・C#
-
16
ORA-01858: 数値を指定する箇所に数値以外の文字が指定されています
Java
-
17
Oracleの起動時に、マウントしたりしなかったりで困っています。
Oracle
-
18
エラーを起こす方法
Oracle
-
19
シェル/grep 同名プロセスのカウント
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CASE文のエラーについて
-
PL/SQL PLS-00103エラーについて
-
pro*c で pl/sql に変数を渡す...
-
PL-SQLでORA-01013エラー
-
[PL/SQL]セキュリティ違反でエラー
-
ORA-01013のエラーについて経験...
-
シェルスクリプトでオラクルの...
-
PL/SQLでPLS-00201のエラー
-
ACCESSでパススルークエリにパ...
-
ORA-06502のエラー
-
Oracle9 union使用時の結合制限...
-
DATABSE LINKについて
-
オラクル表領域データファイル...
-
DOSプロンプトとコマンドプロン...
-
リカバリのやり方
-
DB容量の確認方法
-
SQL*Plusで、コマンドの返答を...
-
Oracleで流したSQLのログを取得...
-
ORA-29280:無効なディレクトリ...
-
VBScript 実行時エラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ORA-01013のエラーについて経験...
-
CASE文のエラーについて
-
PL/SQL PLS-00103エラーについて
-
PCC-S-02201エラーの対処を教え...
-
ORA-01843: 指定した月が無効で...
-
はじめまして!
-
「ORA-00907: 右カッコがありま...
-
ORA-06502のエラー
-
無効なSQL文の具体例を教えてく...
-
DATABSE LINKについて
-
シェルスクリプトでオラクルの...
-
PL/SQLでPLS-00201のエラー
-
DBD-oracle(ORACLEドライバ)...
-
データベースのカラムの型がCHA...
-
sqlのエラーハンドリングについ...
-
【PL/SQL】SQL文が長すぎてSELE...
-
ORA-14459: GLOBALキーワードが...
-
PL/SQLのコンパイルエラーにつ...
-
pro*c で pl/sql に変数を渡す...
-
トリガーのエラー
おすすめ情報