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!
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.
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]
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;