簡體   English   中英

Apex Oracle成功,出現編譯錯誤

[英]Apex Oracle success with compilation error

我正在嘗試在SQL中創建一個正文包,其中包含3個過程,用於添加客戶,刪除客戶和列出所有客戶。 但這給了我ORA-24344錯誤。

這是我的代碼:

 CREATE OR REPLACE PACKAGE BODY c_package AS
 --Adds a customer
 PROCEDURE addCustomer(c_id customers.id%type,
 c_name customers.name%type,
 c_age customers.age%type,
 c_addr customers.address%type,
 c_sal customers.salary%type)
 IS
 BEGIN
  INSERT INTO customers(id,name,age,address,salary)
   VALUES(c_id,c_name,c_age,c_addr,c_sal);
 END addCustomer;

 --Removes a customer
 PROCEDURE delCutomer(c_id customers.id%TYPE) IS
 BEGIN
  DELETE FROM customers
  WHERE id = c_id;
 END delCustomer;

 --Lists all customers
 PROCEDURE listCustomer IS
 CURSOR c_customers is
  SELECT name FROM customers;
 TYPE c_list is TABLE OF customers.name%type;
 name_list c_list := c_list();
 counter integer := 0;
 BEGIN
  FOR n IN c_customers LOOP
   counter := counter + 1;
   name_list.extend;
   name_list(counter) := n.name;
   dbms_output.put_line('Customer(' ||counter||') '||name_list(counter));
  END LOOP;
 END listCustomer;

END c_package;

問題是包裝體內部的過程必須以“ END”而不是“ END procedure_name”結束。

這是正確的代碼:

CREATE OR REPLACE PACKAGE BODY c_package AS
 --Adds a customer
 PROCEDURE addCustomer(c_id customers.id%type,
 c_name customers.name%type,
 c_age customers.age%type,
 c_addr customers.address%type,
 c_sal customers.salary%type)
 IS
 BEGIN
  INSERT INTO customers(id,name,age,address,salary)
   VALUES(c_id,c_name,c_age,c_addr,c_sal);
 END;

 --Removes a customer
 PROCEDURE delCutomer(c_id customers.id%TYPE) IS
 BEGIN
  DELETE FROM customers
  WHERE id = c_id;
 END;

 --Lists all customers
 PROCEDURE listCustomer IS
 CURSOR c_customers is
  SELECT name FROM customers;
 TYPE c_list is TABLE OF customers.name%type;
 name_list c_list := c_list();
 counter integer := 0;
 BEGIN
  FOR n IN c_customers LOOP
   counter := counter + 1;
   name_list.extend;
   name_list(counter) := n.name;
   dbms_output.put_line('Customer(' ||counter||') '||name_list(counter));
  END LOOP;
 END;

END c_package;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM