Ich habe eine Daten_Objekt von mir:Masse sammeln SQL
CREATE OR REPLACE TYPE my_object AS OBJECT(
number_type NUMBER,
varchar_type VARCHAR2(20)
)
und erstellen Sie dann i-Typ
CREATE OR REPLACE TYPE my_nt IS TABLE OF my_object;
Und ich möchte mit verschachtelten Tabelle und diese Aufgabe, ein Verfahren machen, die Rücksendenummer wird von Mitarbeitern einiger Abteilungen. Ich habe zwei Tabellen bekommt: Mitarbeiter und Abteilung ein dies ist mein Code:
DECLARE
enum_dname my_nt := my_nt();
PROCEDURE print_l IS
BEGIN
DBMS_OUTPUT.put_line('---------------------------------------------------------');
FOR i IN 1..enum_dname.COUNT
LOOP
DBMS_OUTPUT.PUT_LINE(enum_dname(i));
END LOOP;
END;
BEGIN
SELECT COUNT(emp_id) as number_of, department_name
BULK COLLECT INTO enum_dname
FROM employees e, department d
WHERE e.department_id = d.department_id
GROUP BY department_name;
print_l;
END;
Und es mir Fehler zeigen: PLS - 00306: Falsche Zahlen Argument in Anruftyp: PUT_LINE
und PL \ SQL: ORA - 00947: nicht genug Werte
DANKE!
Sollte es nicht sein 'enum_dname (i) .number_type' oder' enum_dname (i) .varchar_type' statt nur 'enum_dname (i)'. Hast du das probiert? –
@SudiptaMondal: Ich denke, Sie sollten es eine Antwort machen – Nitish