On Delete Cascade

Hallo,
ich will per VB Code auf dem SQL Server 7.0 eine neue Tabelle anlegen, die eine Löschweitergabe besitzt.
(Wenn in der Tabelle PK ein Satz gelöscht wird, soll der referenzierte Satz in der Tabelle PKAnhang auch gelöscht werden)

Ohne die Löschweitergabe funktioniert dieser Code.
SQL = „Create table PKAnhang (id int Not NULL IDENTITY (1, 1) primary key, IDPK int Default 0 , constraint FKPKAnhangIDPK foreign key (IDPK) references PK )“

Mit der Löschweitergabe erhalte ich jedoch eine Fehlermeldung in der Nähe von ‚ON‘
SQL = „Create table PKAnhang (id int Not NULL IDENTITY (1, 1) primary key, IDPK int Default 0 , constraint FKPKAnhangIDPK foreign key (IDPK) references PK on delete cascade)“

kann mir jemand helfen?
Auf einer Access Datenbank funktioniert dieser Code!

Danke im voraus
Thomas

Hallo

Soviel ich weiss besitzt SQLServer 7 keine Löschweitergabe.

gruss
Giuseppe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,
kann man das irgendwo nachlesen?
bist du dir sicher?

Danke
Gruß
Thomas

Hallo

Hab dich angelogen :wink:.

Starte mal die Enterprise Edtion help und suche nach Cascade.
Etwa der 12 Eintrag hat den titel „CREATE TABLE“ dort siehst du den Syntax für die erstellung von CASCADE.

cya
Giuseppe

Hallo,
habs leider bei mir nicht gefunden
(In der TSQL Hilfe, oder wo?)

Gruß
Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi

Start --> Programme --> MS SQL Server --> Onlinedokumentation

Gruss

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,
ich hab was gefunden, es geht aber wohl doch nicht auf SQL 7.0.
„…Cascade Delete … ist in SQL Server nicht verfügbar“
Gruß und danke
Thomas

Hallo

Sorry für die mega verwirrung die ich angestiftet habe.
Ich habe den Enterprise Manager (und somit auch diese Help) von SQLServer 2000 installiert. Es ist wirklich so dass SQLServer 7 keine Cascade Delete unterstützt. Diese funktion wurde erst im SQLServer 2000 eingebaut.

Gruss Giuseppe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Trigger
Hallo,
macht nichts.
Aber vielleicht kannst du mir bei der Erstellung der Trigger helfen. Mit diesen soll es irgendwie funktionieren.

Gruß
Thomas

CREATE TRIGGER pk\_fk ON PKAnhang FOR DELETE
AS
 DECLARE @idpk int;

 SELECT @idpk = idpk FROM deleted;

 IF EXISTS(SELECT id FROM pk WHERE id=@idpk)
 DELETE FROM pk WHERE id=@idpk;

Danke, jetzt alles OK
Danke, jetzt alles OK