Announcement

Collapse
No announcement yet.

Fehler beim Insert

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehler beim Insert

    Hallo Leute,

    ich hab mal wieder ein kleines Problem:

    Code:
    drop table r;
    drop table s;
    
    create table r(
    R_A integer primary key,
    R_B integer
    );
    
    create table s(
    S_C integer primary key,
    S_A integer,
    S_E integer,
    foreign key (S_A) references r(R_A) on delete restrict
    );
    
    insert into r(R_A) values (1);
    insert into r(R_A) values (2);
    insert into r(R_A) values (3);
    insert into r(R_A) values (4);
    insert into r(R_A) values (5);
    insert into r(R_A) values (6);
    insert into r(R_A) values (7);
    insert into r(R_A) values (8);
    insert into r(R_A) values (9);
    
    insert into s(S_C, S_A) values (1, 1);
    insert into s(S_C, S_A) values (2, 1);
    insert into s(S_C, S_A) values (3, 1);
    insert into s(S_C, S_A) values (4, 1);
    insert into s(S_C, S_A) values (5, 2);
    insert into s(S_C, S_A) values (6, 2);
    insert into s(S_C, S_A) values (7, 2);
    insert into s(S_C, S_A) values (8, 2);
    insert into s(S_C, S_A) values (9, 3);
    insert into s(S_C, S_A) values (10, 3);
    insert into s(S_C, S_A) values (11, 3);
    insert into s(S_C, S_A) values (12, 3);
    
    select * from s;
    In der roten Zeile fängt der erste Fehler an. Der sieht wie folgt aus:

    Fehler bei Befehlszeile:13 Spalte:46
    Fehlerbericht:
    SQL-Fehler: ORA-00905: Schlüsselwort fehlt
    00905. 00000 - "missing keyword"
    *Cause:
    *Action:

    Nur ich komm leider nicht dahinter wo das Problem genau steckt ...
    http://forex-forum.eu/

  • #2
    Code:
    foreign key (S_A) references r(R_A) on delete set null
    oder
    Code:
    foreign key (S_A) references r(R_A) on delete cascade

    Comment


    • #3
      Gibt es nicht die Möglichkeit sowas zu unterbinden ?
      http://forex-forum.eu/

      Comment


      • #4
        Lass doch ON DELETE SET NULL bzw. ON DELETE CASCADE einfach weg.
        Dann kann der Spalten-Wert in der Mastertabelle nur dann gelöscht werden, wenn es keinen entsprechenden Spalten-Wert in der Detailtabelle gibt.

        Comment


        • #5
          Ok, daran hätte ich auch denken können ...
          http://forex-forum.eu/

          Comment

          Working...
          X