SQL script ..add constraint
Jeg har lavet dette script her nedenunder men er nu gået lidt død :-)De steder hvor der står 'AnalyzerType' kunne jeg godt tænke mig var dynamisk sådan at algoritmen selv fandt sin parent og erstattede det med 'AnalyzerType'...
I øjeblikket skal jeg selv ind og finde alle parents i mit diagram og skrive det ind i koden og det er for besværligt.
Håber der er nogen der kan bygge videre på mit script her:-)
/////////////////////////////////////////////////////////////
DECLARE @temptable2 varchar (255)
DECLARE testCursorDropConstraint CURSOR LOCAL FOR
SELECT sysobjects.name AS RelatedTable FROM sysobjects INNER JOIN syscolumns ON sysobjects.id = syscolumns.id
INNER JOIN sysforeignkeys ON syscolumns.id = sysforeignkeys.fkeyid AND syscolumns.colid = sysforeignkeys.fkey
INNER JOIN syscolumns syscolumns2 ON sysforeignkeys.rkeyid = syscolumns2.id AND sysforeignkeys.rkey = syscolumns2.colid
INNER JOIN sysobjects sysobjects2 ON syscolumns2.id = sysobjects2.id WHERE sysobjects2.name = 'AnalyzerType'
OPEN testCursorDropConstraint
FETCH NEXT FROM testCursorDropConstraint INTO @temptable2 /* sætter @tabelname = med den første tabel som pointer peger på*/
WHILE @@FETCH_STATUS=0
BEGIN
print @temptable2
EXEC('ALTER TABLE '+ @temptable2 +' DROP CONSTRAINT FK_'+ @temptable2 +'_AnalyzerType')
EXEC('ALTER TABLE '+ @temptable2 +' ADD CONSTRAINT FK_'+ @temptable2 +'_AnalyzerType FOREIGN KEY (IDAnalyzerType) REFERENCES AnalyzerType (ID) ON DELETE CASCADE')
FETCH NEXT FROM testCursorDropConstraint INTO @temptable2
END
Close testCursorDropConstraint
DeAllocate testCursorDropConstraint
///////////////////////////////////////////////////////////////