3

現在、削除の問題があります。レコードでカスケード削除を有効にする権限がありません。userIdが約20の異なるテーブルの参照であるUserテーブルがあります。userIdを参照するすべてのテーブルを再帰的に検索して削除する動的クエリを記述できるようにしたいので(テーブルごとに独自の外部キーを検索して削除する必要があります)、基本的に再帰関数/テーブル名をパラメーターおよび主キーIDとして受け取り、カスケード削除を実行するプロシージャー。それを実行できるスクリプトはありますか?information_schemaでクエリを実行して、Userテーブルの1つのレベルの依存関係を取得できますが、レコードをワイプできるようにするには、リンクされたテーブルのすべての依存関係も再帰的に見つける必要があります。

4

1 に答える 1

1

「NathanSkerl」によって提案されたように、私はこのリンクhttp://www.sqlteam.com/forums/topic.asp?TOPIC_ID=97454を使用し、それが仕事をしました。唯一のことは、fnCascadingDelete関数を変更してRecordIDパラメーターを含め、削除するレコードのIDを渡すことができるようにしてから、%1を検索して@RecordIDに置き換えたことです。それは完璧に機能し、非常に深いネスティングには少し遅いですが、私はそれが期待されていると思います。

于 2012-06-21T03:03:12.090 に答える