ich diese Prozedur 'TT1_ajoute_person_dans_album' schrieb die OID von Album Zeile in der verschachtelten Tabelle der Spalte 'Album' in der Tabelle 'Personnage'PL/SQL: ORA-00936: fehlende Ausdruck
Create or replace PROCEDURE TT1_ajoute_person_dans_album(pnum IN NUMBER,anum IN NUMBER) IS
BEGIN
INSERT INTO TABLE (SELECT ALBUMS from TT1_PERSONNAGE_TABLE where NUMP=pnum)
values (SELECT REF(a) from TT1_ALBUM_TABLE a where a.NUMA=anum);
COMMIT;
END TT1_ajoute_person_dans_album;
Diejenigen einfügen die Objekte sind:
Create Type TT1_Album_Type As Object(NumA Number, Titre Varchar(50), Annee_Pub Number, Album_Suiv Varchar(50));
Create Type TT1_Album_NT_Type As Table OF REF TT1_Album_Type ;
Create Type TT1_Personnage_Type As Object(NumP Number, Nom Varchar(40), Prenom Varchar(40), Profession varchar(50), Sexe Varchar(1), Genre Varchar(20), albums TT1_Album_NT_Type);
Aber eine Nachricht erschien ERROR at line 6: PL/SQL: ORA-00936: missing expression
Was ist los?
Huh? Die INSERT-Anweisung ist wirklich vermasselt. https://docs.oracle.com/database/121/SQLRF/statements_9014.htm#SQLRF01604 – OldProgrammer
Es wäre hilfreich, wenn Sie Ihre Frage bearbeiten und die Definitionen von 'TT1_PERSONNAGE_TABLE' und' TT1_ALBUM_TABLE' hinzufügen würden. Vielen Dank. –
@OldProgrammer Aus dem Syntax-Abschnitt Ihres Links gehen Sie zu ['insert_into_clause'] (https://docs.oracle.com/database/121/SQLRF/statements_9014.htm#i2121694)> [' DML_table_expression_clause'] (https://docs.oracle.com/database/121/SQLRF/statements_9014.htm#i2126242)> ['table_collection_expression'] (https://docs.oracle.com/database/121/SQLRF/statements_9014.htm#i2121871) und Sie finde die Syntax dort. – MT0