www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Datenbanken" - SQL Trigger erstellen
SQL Trigger erstellen < Datenbanken < Praktische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Datenbanken"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

SQL Trigger erstellen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:56 Di 05.07.2011
Autor: Xnyzer

Aufgabe
Legen Sie eine Tabelle UPDATEWATCHER an mit den Attributen (tabellenname char(20), anzahl number) und machen Sie ein Insert mit VALUES(’meine cocktails’, 0).

Erzeugen Sie einen Trigger der bei jedem Update auf der Tabelle MEINE COCKTAILS ein entsprechendes Update auf der Tabelle UPDATEWATCHER ausfu ̈hrt. Also das Attribut Anzahl beim Attribut tabellenname=’meine cocktails’ um 1 hochsetzt.


Der erste Teil ist kein Problem. Eine Tabelle anlegen kann ich und habe ich gemacht.
Mit dem zweiten Teil komme ich nicht klar!
Finde im Internet auch keine wirkliche Hilfe..

Was ich bisher habe:

CREATE updatetrigger
FOR meine_cocktails

AFTER UPDATE 
AS

BEGIN

UPDATE updatewatcher

SET anzahl = (select anzahl from updatewatcher where tabellenname = 'meine_cocktails') +1

WHERE tabellenname = 'meine_cocktails';

END;

        
Bezug
SQL Trigger erstellen: Antwort
Status: (Antwort) fertig Status 
Datum: 19:14 Di 05.07.2011
Autor: rainerS

Hallo!

> Legen Sie eine Tabelle UPDATEWATCHER an mit den Attributen
> (tabellenname char(20), anzahl number) und machen Sie ein
> Insert mit VALUES(’meine cocktails’, 0).
>  
> Erzeugen Sie einen Trigger der bei jedem Update auf der
> Tabelle MEINE COCKTAILS ein entsprechendes Update auf der
> Tabelle UPDATEWATCHER ausfu ̈hrt. Also das Attribut Anzahl
> beim Attribut tabellenname=’meine cocktails’ um 1
> hochsetzt.
>  
> Der erste Teil ist kein Problem. Eine Tabelle anlegen kann
> ich und habe ich gemacht.
>  Mit dem zweiten Teil komme ich nicht klar!
>  Finde im Internet auch keine wirkliche Hilfe..
>  
> Was ich bisher habe:
>  
> CREATE updatetrigger
>  FOR meine_cocktails

>  AFTER UPDATE 
AS
>  
BEGIN

>  UPDATE updatewatcher

>  SET anzahl = (select anzahl from updatewatcher where
> tabellenname = 'meine_cocktails') +1

>  WHERE tabellenname = 'meine_cocktails';
>  
END;

Du schreibst leider nicht, um welche Datenbank-Software es hier geht.  Da gibt es gewisse Unterschiede in der Syntax: z.B ist "AS" nur in MS/SQL nötig, in anderen SQL-Dialekten zuviel. Unabhängig davon ist deine Syntax falsch; es muss heißen:

CREATE TRIGGER updatetrigger
(nicht: CREATE updatetrigger)

ON meine_cocktails
(nicht: FOR meine_cocktails)

Mehr davon, wenn du uns verrätst, für welche Datenbankmaschine der SQL-Code erstellt werden soll.

Viele Grüße
   Rainer

Bezug
                
Bezug
SQL Trigger erstellen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:29 Di 05.07.2011
Autor: Xnyzer


ich benutze oracle sql developer und dahinter liegt eine SQL95 datenbank


Bezug
                        
Bezug
SQL Trigger erstellen: Antwort
Status: (Antwort) fertig Status 
Datum: 21:57 Di 05.07.2011
Autor: rainerS

Hallo!

>
> ich benutze oracle sql developer und dahinter liegt eine
> SQL95 datenbank
>  

Ich weiss nicht, was eine SQL95-Datenbank ist, aber in In Oracle SQL wird ein Trigger []so erzeugt:

CREATE OR REPLACE TRIGGER updatetrigger
  BEFORE UPDATE ON tabelle
     pl/sql_block

wobei in deinem Fall der pl/sql_block die Form

BEGIN
   ...
END

hat.

  Viele Grüße
    Rainer

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Datenbanken"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]