В базе MS SQL Server 2000 нужно убить довольно много записей в некоторой таблице, на эти записи ссылаются записи из других таблиц, на них ссылаются записи из еще других таблиц... и т.д. При этом на уровне самой базы CASCADE DELETE не реализован никак.
Внимание, вопрос: может у кого-то есть процедурка, имитирующая CASCADE DELETE? Т.е. анализирующая связи в БД с помощью встроенных фунций MS SQL (типа sp_pkeys, sp_fkeys) и убивающая связанные данные. Поделитесь!
Здравствуйте dmile, Вы писали:
D>В базе MS SQL Server 2000 нужно убить довольно много записей в некоторой таблице, на эти записи ссылаются записи из других таблиц, на них ссылаются записи из еще других таблиц... и т.д. При этом на уровне самой базы CASCADE DELETE не реализован никак.
D>Внимание, вопрос: может у кого-то есть процедурка, имитирующая CASCADE DELETE? Т.е. анализирующая связи в БД с помощью встроенных фунций MS SQL (типа sp_pkeys, sp_fkeys) и убивающая связанные данные. Поделитесь!
А если триггерами убивать?
Re[2]: MSSQL - stored procedure for CASCADE DELETE?
Триггерами нельзя. Концепция БД уже сложилась, ничего нового в нее вносить нельзя. Поэтому нужна процедура, которой мог бы пользоваться только разработчик.
Здравствуйте dmile, Вы писали:
D>В базе MS SQL Server 2000 нужно убить довольно много записей в некоторой таблице, на эти записи ссылаются записи из других таблиц, на них ссылаются записи из еще других таблиц... и т.д. При этом на уровне самой базы CASCADE DELETE не реализован никак.
D>Внимание, вопрос: может у кого-то есть процедурка, имитирующая CASCADE DELETE? Т.е. анализирующая связи в БД с помощью встроенных фунций MS SQL (типа sp_pkeys, sp_fkeys) и убивающая связанные данные. Поделитесь!
У меня к вам предложение — а что если вам написать эту процедуру и выложить ее в форум "Исходники"? И даже если вы найдете стороннее решение — милости просим сюда
D>У меня к вам предложение — а что если вам написать эту процедуру и выложить ее в форум "Исходники"? И даже если вы найдете стороннее решение — милости просим сюда
В общем, я и собирался сам ее писать. Но
1) сначала резонно спросить, нет ли у кого-то уже готового решения.
2) задачка не является стратегически приоритетной для моего проекта, поэтому не могу сказать, когда я реально смогу начать ей заниматься.
Здравствуйте, dmile, Вы писали:
D>1) сначала резонно спросить, нет ли у кого-то уже готового решения.
Посмотри как это делает access при экпорте своей БД (с каскадным DELETE, UPDATE) в SQL сервер (7.0)