ORA-06550:第 1 行,第 65 列:PLS-00103:遇到以下符号之一时遇到符号 "CREATE":
ORA-06550: line 1, column 65: PLS-00103: Encountered the symbol "CREATE" when expecting one of the following:
我的代码
CREATE OR REPLACE PROCEDURE myproc IS
CurrDep Number;
Tot Number;
accm Number;
Cursor Cur_lcd is
select * from Courier_Scanner;
Cur_row Courier_Scanner%rowtype;
Begin
for Cur_row in Cur_lcd
Loop
CurrDep := (Cur_row.PURCHASE_PRICE- Cur_row.SALVAGE)/Cur_row.LIFE_SPAN;
accm:= Cur_row.TOTAL_ACC_DEP;
Tot := CurrDep + accm;
Update Courier_Scanner
set CURR_PRED_DEP = Currdep,
TOTAL_ACC_DEP = Tot,
NET_VALUE = Cur_row.PURCHASE_PRICE-Tot
ACCUMULATED_DEP = accm
where SC_NO = Cur_row.SC_NO;
end loop;
commit;
END myproc;
错误:
ORA-06550: line 1, column 65: PLS-00103: Encountered the symbol "CREATE"
when expecting one of the following: ( begin case declare exit for goto
if loop mod null pragma raise return select update while with <an
identifier> <a double-
任何人都可以通过指出程序中的确切错误来帮助我。我花了好几个小时,但什么也没看到。
那个存储过程绝对没有问题。如果您使用的是 TOAD 或 SQL*Plus,请务必在您正在编译的每个 PL/SQL 块之后在单独的行中放置一个正斜杠。正斜杠是 TOAD 和 SQL*Plus.
中的默认块终止符
行的更新语句中缺少一个逗号(,
)
NET_VALUE= Cur_row.PURCHASE_PRICE-Tot ACCUMULATED_DEP=accm where
SC_NO =Cur_row.SC_NO;
更正如下:
UPDATE Courier_Scanner
SET CURR_PRED_DEP = Currdep,
TOTAL_ACC_DEP = Tot,
NET_VALUE = Cur_row.PURCHASE_PRICE - Tot,
ACCUMULATED_DEP = accm
WHERE SC_NO = Cur_row.SC_NO;
我的代码
CREATE OR REPLACE PROCEDURE myproc IS
CurrDep Number;
Tot Number;
accm Number;
Cursor Cur_lcd is
select * from Courier_Scanner;
Cur_row Courier_Scanner%rowtype;
Begin
for Cur_row in Cur_lcd
Loop
CurrDep := (Cur_row.PURCHASE_PRICE- Cur_row.SALVAGE)/Cur_row.LIFE_SPAN;
accm:= Cur_row.TOTAL_ACC_DEP;
Tot := CurrDep + accm;
Update Courier_Scanner
set CURR_PRED_DEP = Currdep,
TOTAL_ACC_DEP = Tot,
NET_VALUE = Cur_row.PURCHASE_PRICE-Tot
ACCUMULATED_DEP = accm
where SC_NO = Cur_row.SC_NO;
end loop;
commit;
END myproc;
错误:
ORA-06550: line 1, column 65: PLS-00103: Encountered the symbol "CREATE"
when expecting one of the following: ( begin case declare exit for goto
if loop mod null pragma raise return select update while with <an
identifier> <a double-
任何人都可以通过指出程序中的确切错误来帮助我。我花了好几个小时,但什么也没看到。
那个存储过程绝对没有问题。如果您使用的是 TOAD 或 SQL*Plus,请务必在您正在编译的每个 PL/SQL 块之后在单独的行中放置一个正斜杠。正斜杠是 TOAD 和 SQL*Plus.
中的默认块终止符,
)
NET_VALUE= Cur_row.PURCHASE_PRICE-Tot ACCUMULATED_DEP=accm where SC_NO =Cur_row.SC_NO;
更正如下:
UPDATE Courier_Scanner
SET CURR_PRED_DEP = Currdep,
TOTAL_ACC_DEP = Tot,
NET_VALUE = Cur_row.PURCHASE_PRICE - Tot,
ACCUMULATED_DEP = accm
WHERE SC_NO = Cur_row.SC_NO;