Brauchen Sie Hilfe auf Oracle 10g Express Edition
-
09-10-2019 - |
Frage
Ich habe Fehler „ora-03001: unimplemented Feature“ wenn ich versuche, unten einen Datensatz auf Tabelle einzufügen. Ich habe die ganze Nacht gesucht, noch kein Glück. Ich verwende Oracle10g Ausgabe ausdrücken.
create or replace type MajorsType As varray(20) of varchar2(10);
create or replace type studenttype as object (
stuID varchar2(5),
lastName varchar2(15),
firstName varchar2(12),
majors MajorsType)
INSTANTIABLE
NOT FINAL;
create table Student of StudentType (
constraint student_stuID_pk PRIMARY KEY(stuID));
INSERT INTO student values StudentType ('S999', 'Smith', 'John', MajorsType('Math', 'Accounting'));
Lösung
Es ist ein einfacher Syntaxfehler: die VALUES-Klausel erfordert alles in Klammern eingewickelt werden:
SQL> INSERT INTO student
2 values ( StudentType ('S999', 'Smith', 'John', MajorsType('Math', 'Accounting')))
3 /
1 row created.
SQL>
Dies gilt, ob wir in mehrere Einzelwerte oder einen einzigen Typ vorbei sind.
Der ein Fall, wenn es nicht gilt ein Einsatz in PL / SQL einen RECORD-Typ. Welche nicht relevant für Ihre Situation ist, aber ich bin es der Vollständigkeit halber erwähnen.
eine Variable RECORD Einfügen in etwa so aussehen würde
declare
r23 t23%rowtype; -- record declaration
begin
r23.id := 1;
r23.created := sysdate;
-- insert using record variable
insert into t23
values r23;
end;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow