回答

收藏

Oracle 11g-运行PL / SQL游标

技术问答 技术问答 284 人阅读 | 0 人回复 | 2023-09-12

我试图在Oracle 11g上运行此代码,这给了我下面的错误。我似乎无法正确处理。& d+ y' M( r2 {0 j9 E* u& f
DECLARE+ T# Y3 t; e0 ?$ U$ ?
    CURSOR bookcursor IS/ N0 t: H' x; K/ L
    SELECT btName, BookCopy.Isbn, pubName, dateDestroyed2 p' r# K, U% o6 \, C$ P" @* Y& U! B
      FROM booktitle bt
* u1 _) Q6 F9 m0 d: V& @4 @" e      JOIN publisher p
; }! I7 t, T# ^* q; k( i        ON bt.pubId = p.pubId
4 Y/ N6 ?, S" a      JOIN bookcopy bc( Z: I$ T0 R/ }5 a1 @. s  w7 p" T! v
        ON bt.Isbn = bc.Isbn
7 V. ^3 G; B, x7 a2 [! `8 G     WHERE datedestroyed IS NULL
2 \. f1 E& G" b3 o$ k# b0 \    ;4 _5 g5 i! i0 L4 }3 i
    bookcursorrec bookcursor%ROWTYPE;( x' Q' T* K* E, b
BEGIN7 Z! {4 y7 y/ e, T8 f5 r0 H
    OPEN bookcursor;5 @0 Z: W2 E$ N: t- ~7 O% b
    LOOP
+ I! D4 c  l, k3 ], L        FETCH bookcursor INTO bookcursorrer;
- q+ ~3 P$ K  S5 U        EXIT WHEN bookcursor%NOTFOUND;* ?# ]& r6 W, ^
        dbms_output.put_line( 'ISBN: ' ||bookcursorrec.isbn
/ R) e& A  w& a) u                              || ' - Book Name: ' || bookcursorrec.btname
% A3 P" f( Z# X6 R+ G                              || ' - Publisher: ' || bookcursorrec.pubname );! r- D& ]* c- C
    END LOOP;6 A. n2 m$ u' C/ p& i) d
    CLOSE bookcursor;: f, ~. T1 O9 k
END;
+ v4 Z: V% P/ z7 H7 u% [4 Q* S( T! ^1 Y. H' o* m0 d
ERROR at line 3:
6 S: M7 O* l0 }" p- rORA-06550: line 3, column 20:( c) h* f" R' m' d" p) p$ [
PL/SQL: ORA-00904: "BOOKCOPY"."ISBN": invalid identifier8 ]( q. S( L6 E/ H' R# G
ORA-06550: line 3, column 5:6 r: ]  k# S9 ^6 B
PL/SQL: SQL Statement ignored
1 [) N0 K$ s; o0 I+ \ORA-06550: line 2, column 12:
4 k0 y3 p$ ]$ x  w; v5 ]. ^PLS-00341: declaration of cursor 'BOOKCURSOR' is incomplete or malformed1 @* ?/ [+ |3 t
ORA-06550: line 11, column 19:( ], u' r2 K1 @6 a* |' h# \
PL/SQL: Item ignored
9 J1 o, W( T8 xORA-06550: line 15, column 31:
8 F6 K! \* p- C# G; nPLS-00201: identifier 'BOOKCURSORRER' must be declared
$ x6 e* P/ s7 e4 M% f! nORA-06550: line 15, column 9:
' z6 \* v7 c; @PL/SQL: SQL Statement ignored
4 ~' S! p( Q' P' j  N- c" }$ PORA-06550: line 17, column 42:# I9 [. w, {* ~4 b; @$ s
PLS-00320: the declaration of the type of this expression is incomplete or7 S9 v# B- A4 r$ z9 A! a
malformed
6 g. V$ P8 g- z: }! C6 OORA-06550: line 17, column 9:+ D  o, B. C8 i
PL/SQL: Statement ignored  j! ]( d7 a2 S. J2 {5 |
您能指出我出什么问题吗?我似乎无法理解什么地方出了问题
5 f. i% O$ l% e2 E2 b8 S* c谢谢,布莱恩
8 J" Z: Z& `  q6 k               
7 L/ W# I2 f5 f1 c6 d解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则