Ich versuche, eine Körper PACKAGE in SQL zu erstellen, die 3 Prozeduren zum Hinzufügen eines Kunden, Entfernen eines Kunden und Auflisten aller Kunden enthält. Aber es gibt mir den Fehler ORA-24344.Apex Oracle Erfolg mit Kompilierungsfehler
Dies ist mein Code:
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;
Wenn yiou nicht den tatsächlichen Fehler auf andere Weise sehen können, fragen Sie die 'user_errors' Ansicht. Zwei Fehler, die herausspringen, sind, dass 'END addCustomers'' END addCustomer' sein sollte, und in dieser Einfügung haben Sie 'c_name' aus der values -Klausel weggelassen. Es kann jedoch auch andere Probleme geben. Was ist der Punkt, um die 'c_list'-Sammlung zu füllen? –
Danke! Ich versuche, verschiedene Arten der Programmierung in SQL zu lernen. Auch wenn ich den Code neu geschrieben habe, bleibt das Problem bestehen. – UnKn0wn27
Der Name Ihrer zweiten Routine ist falsch geschrieben ('delCutomer'). – collapsar