Announcement

Collapse
No announcement yet.

Insert mit Select und Sequence ... !?!

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

  • Insert mit Select und Sequence ... !?!

    Hallo zusammen,

    ich plage mich schon seit Stunden mit einem Problem herum, bei dem ich einfach nicht weiterkomme und wäre für jede Hilfe dankbar.

    Ich habe eine überschaubare Tabelle:
    create table "Kommunikation" (
    "proId" NUMBER(11),
    "CommId" NUMBER(11),
    "Klasse" VARCHAR2(20),
    "comTyp" NUMBER(11),
    "defcomwert" NUMBER(1),
    "comwert" VARCHAR2(255),
    "createdBy" VARCHAR2(17),
    "createdOn" DATE,
    "modifiedBy" VARCHAR2(17),
    "modifiedOn" DATE);

    Dort stehen nun für allerhand Kunden verschiedene Kommunikationswege drin, also Kunde Nr 1 (CommID=1) hat Telefon (comTyp=1) mit dem comwert (0123-456789) und EMail (comTyp=7) mit dem comwert ([email protected])

    Nun müssen aber für alle Kunden EMail Adressen hinterlegt werden bzw. es muß eingetragen werden ComTyp=11 und comWert="Keine Email hinterlegt"
    Ich habe nun einen Select, der mir alle Kunde rauswirft, bei denen keine EMail Adresse hinterlegt ist:

    select distinct proId
    from "Kommunikation"
    where "proId" not in
    (select distinct "proId"
    from "Kommunikation"
    where "comTyp"=6 or "comTyp"=7 or "comTyp"=10 or "comTyp"=11);

    Da ProId eine AutoId sein soll, habe ich noch einen Sequence definiert:
    define sequence hbseq start 85000;

    Jetzt müsste ich für alle obigen Kunden folgende Operation ausführen:
    Insert into "Kommunikation"
    ("proId","CommID","Klasse","comTyp","defComWert"," comWert","createdBy","createdOn","modifiedBy","mod ifiedOn")
    values (hbseq.nextval,2,'abc',11,1,'Keine EMail hinterlegt','Administrator',sysdate+1,Null,Null);

    Ich bekomme aber einfach den Insert in Verbindung mit dem Select und der Sequenz hin! Hat da einer einen tipp für mich?

    Vielen Dank,
    Thomas

  • #2
    Originally posted by TWAWLW View Post
    Hallo zusammen,

    ich plage mich schon seit Stunden mit einem Problem herum, bei dem ich einfach nicht weiterkomme und wäre für jede Hilfe dankbar.

    Ich bekomme aber einfach den Insert in Verbindung mit dem Select und der Sequenz hin! Hat da einer einen tipp für mich?

    Vielen Dank,
    Thomas
    Hi,


    - du hast in deinem Insert bei der Attributsaufzählung einen Schreibfehler :

    -->","mod ifiedOn") --> Leerzeichen

    ..und gleich noch einer :

    --> " comWert" --> Leerzeichen

    ...und warum schliesst du den Tabellennamen und die Attribute in "" ein ?
    - und eine Sequence wird folgendermassen definiert :

    Code:
    CREATE SEQUENCE M_HBSEQ START WITH  85000
    /
    Gruss
    Zuletzt editiert von dbwizard; 12.03.2010, 14:27.

    Comment


    • #3
      wie währe es mit einen Trigger "before insert"

      Comment

      Working...
      X