고객을 추가하고 고객을 삭제하고 모든 고객을 나열하는 3 가지 절차가 포함 된 SQL의 본문 패키지를 만들려고합니다. 그러나 그것은 나에게 ORA-24344 에러를 준다.컴파일 오류가있는 Apex 오라클 성공
이 내 코드입니다 :
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 addCustomers'가'END addCustomer'이어야하고, 그 삽입에서 values 절에서'c_name'을 생략했다는 것입니다. 그래도 다른 문제가있을 수 있습니다. 'c_list' 콜렉션을 채우는 지점은 무엇입니까? –
감사합니다. 나는 SQL에서 프로그래밍의 다른 방법을 배우려고 노력하고있다. 또한 코드를 다시 작성했지만 문제는 여전히 남아 있습니다. – UnKn0wn27
두 번째 루틴의 이름이 잘못되었습니다 ('delCutomer'). – collapsar