基本的に次のような長い SQL ステートメントがあります。
with a as (select * from t1),
b as (select * from a, t2 where a.id=t2.id)
select * from b
このステートメントは、TOAD アプリケーションで完全に正常に実行されます。しかし、上記を文字列変数に詰め込んで ASP で実行しようとすると、次のようになります。
set rs = objConn.execute(strSQL)
次のエラーが表示されます:
Microsoft OLE DB Provider for ODBC Drivers error '80040e37'
[Microsoft][ODBC driver for Oracle][Oracle]ORA-00942: テーブルまたはビューが存在しません
/Application/xxxxx/yyyyy/myfilename.asp, 168行目
行 168 は set rs = objConn.execute(strSQL) 行です。
これらの同じテーブルを使用して他のいくつかのクエリを実行し、 set rs = objConn.execute(strSQL) 行を使用して問題なくオンラインに投稿しました。私が判断できる唯一のことは、この SQL クエリと異なるのは、サブクエリの因数分解です。
次のような独自のselectステートメントでクエリ全体をラップしようとしました:
select * from (with a as blah blah... entire original query)
しかし、それでも同じエラーがスローされます。セットを使用しないことはできますか
rs = objConn.execute(strSQL)
サブクエリファクタリングと組み合わせて?それはサポートされていませんか?それとも何らかの回避策がありますか?それとも、まったく別のものでしょうか?
ありがとう。