PLS-00103: 出現符號 在需要下列之一時: := . ( @ % ;

starive發表於2014-02-02
本人在學習pl/sql時,遇到了如標題所示錯誤。

建立表和儲存過程

  1. create table aj_ap(
  2. a number,
  3. com number,
  4. date1 date,
  5. date2 date
  6. );

  7. create or replace procedure pro_inser(a in number,com in number,date1 in varchar2,date2 in varchar2)
  8. is
  9. begin
  10. insert into aj_ap values(a,com,to_date(\'date1\',\'yyyy-mm-dd\'),to_date(\'date2\',\'yyyy-mm-dd\'));
  11. end;



然後執行儲存過程:

  1. declare
  2. a number:=101;
  3. com number;
  4. date1 varchar2(10);
  5. date2 varchar2(10);
  6. begin
  7. while a<=100015 loop
  8. exec pro_inser(a,&com,&date1,&date2);
  9. a:=a+1;
  10. end loop;
  11. end;

出現的error如下:





解決方法:
將語句:

  1. exec pro_inser(a,&com,&date1,&date2);

改為:

  1. pro_inser(a,&com,&date1,&date2);

因為exec是執行,要知道:
begin
   過程名(*****);
end;
等價於:  exec 過程名(*****);

















來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26435490/viewspace-1076803/,如需轉載,請註明出處,否則將追究法律責任。

相關文章