PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
22749 | 06/08/11 23:01:33 | RE(1):動的カーソルで作成したカーソルがOPENでエラーになる By めめ |
22731 | 06/08/02 11:29:32 | 動的カーソルで作成したカーソルがOPENでエラーになる By takes |
カテゴリ:スクリプトの記述
日付:2006年08月02日 11:29 発信者:takes
題名:動的カーソルで作成したカーソルがOPENでエラーになる
PB7で、Oracle9iを使用しています。
PBでselect文を作成し、OPENすると
「Error Parsing Command:in FROM clause couldnot Create Table list」とエラーになります。
編集したSQL文をそのまま実行(SQL/PULUS)するとエラーにもならずに結果が返ってきます。
変数:WK_SQLの内容
SELECT KEYTBL.KEY_00, KEYTBL.KEY_00_NAME,
KEYTBL.KEY_01, KEYTBL.KEY_01_NAME,
KEYTBL.KEY_02, KEYTBL.KEY_02_NAME,
NVL(COUNT(KOJTBL.契約営業所コード),0) AS CNT_KEN
FROM (SELECT A.契約営業所コード,
TO_CHAR(A.営業所) || \'-\' || TO_CHAR(A.情報源) || \'-\' || TO_CHAR(A.家区分) AS KOJKEN
FROM 工事TBL A, 請負情報TBL B
WHERE A.工事番号 = B.工事番号 AND
B.契約区分コード = 10 AND
TO_CHAR(B.契約日,\'YYYYMM\') BETWEEN 200606 AND 200606 ) KOJTBL,
(SELECT TO_CHAR(C.営業所) || \'-\' ||TO_CHAR(A.情報源) || \'-\' ||TO_CHAR(B.家区分) AS KENSAKU,
C.営業所 AS KEY_00, C.略称 AS KEY_00_NAME,
A.情報源 AS KEY_01, A.情報源名 AS KEY_01_NAME,
B.家区分 AS KEY_02, B.家区分名 AS KEY_02_NAME
FROM 情報源TBL A, 家区分TBL B, 組織マスタ C
ORDER BY A.情報源, B.家区分) KEYTBL
WHERE KEYTBL.KENSAKU = KOJTBL.KOJKEN(+)
GROUP BY KEYTBL.KEY_00, KEYTBL.KEY_01, KEYTBL.KEY_02,
KEYTBL.KEY_00_NAME, KEYTBL.KEY_01_NAME, KEYTBL.KEY_02_NAME
ORDER BY KEYTBL.KEY_00, KEYTBL.KEY_01, KEYTBL.KEY_02
PBの記述
DECLARE csr_対象 DYNAMIC CURSOR FOR SQLSA;
PREPARE SQLSA FROM :WK_SQL ;
OPEN DYNAMIC csr_対象;←この時にエラーとなる。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows XP
DBMS Oracle Net8
Browser (記載なし)
Server SoftWare
OS Windows Server 2003
DBMS Oracle9i
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.