
初心者です。
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制作)
-
Pro c/c++ でホスト変数の後に.lenとか.arrの意味は?
C言語・C++・C#
-
プリコンパイルエラーについて
C言語・C++・C#
-
-
4
PRO*C コンパイルエラー
C言語・C++・C#
-
5
Statement ignored というエラー
Oracle
-
6
カーソルオープンでエラー(ORA-01012)
C言語・C++・C#
-
7
なんじゃーこりぁー!!(松田優作風味)
C言語・C++・C#
-
8
PL/SQLで@ファイル名が反応しません
Oracle
-
9
C言語のポインターに関する警告
C言語・C++・C#
-
10
#if 1 #elseの意味について
C言語・C++・C#
-
11
カーソル0件の時にエラーを発生させる
Oracle
-
12
オラクルのLONG RAW型のテーブルの操作方法と容量計算の仕方
その他(データベース)
-
13
VB6(SP5)+OO4OでCreateObjectが失敗する
Visual Basic(VBA)
-
14
PL/SQLのコンパイルエラーについて(ignored)
Oracle
-
15
セグメントエラー
C言語・C++・C#
-
16
ProCでコンパイルエラーが出ます
C言語・C++・C#
-
17
【gcc・cygwin】multiple definitionエラーの解決法
C言語・C++・C#
-
18
カーソル宣言をIFで分けられませんか?
Oracle
-
19
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
20
SQLPLUSで結果を画面に表示しない
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ORA-01013のエラーについて経験...
-
ORA-01843: 指定した月が無効で...
-
CASE文のエラーについて
-
PL/SQL PLS-00103エラーについて
-
シェルスクリプトでオラクルの...
-
はじめまして!
-
ビューが作成できない
-
SQLLOADER
-
無効なSQL文の具体例を教えてく...
-
PL/SQLによるCREATE TABLE後のI...
-
PCC-S-02201エラーの対処を教え...
-
sqlのエラーハンドリングについ...
-
「ORA-00907: 右カッコがありま...
-
オラクル表領域データファイル...
-
ACCESSでパススルークエリにパ...
-
エラーコードについて
-
エラーコード取得
-
ORA-12571パケット書き込みエラ...
-
pro*c で pl/sql に変数を渡す...
-
データベースのカラムの型がCHA...
マンスリーランキングこのカテゴリの人気マンスリー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のエラー
おすすめ情報