SQL Server2005-SQLステートメントの削除が集積から鍵テーブルをクエリにtablenames?
-
10-07-2019 - |
質問
今は回復のバックアップ、Microsoft Dynamics NAVのデータベースは、残念ながら失敗したという設定のクラスタ化されたキーのテーブルについて集ます。
にNAV、会社のデータベースが独自のコピーをテーブルを先頭に付け、社名など COMPANY$User_Setup
.って除集鍵を与えられた会社で、他のテーブル名で始まり'の会社$'.
ではもったSQL文が実行す。
感謝。
コンテンツ一覧 マーティン
解決
する必要がありまいとしてカーソルを移動させます。仮に各PK制約はconsistantlyに基づいてテーブル名しかできないようなもの(未審査、誤字を含む場合がありまvauge構文エラー):
DECLARE mycursor CURSOR FOR SELECT name FROM sysobjects WHERE name LIKE 'Company$%'
OPEN CURSOR
FETCH NEXT FROM mycursor INTO @tablename
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = N'ALTER TABLE QUOTENAME(' + @tablename + ') DROP CONSTRAINT PK_' + @tablename
EXEC sp_ExecuteSQL @sql
FETCH NEXT FROM mycursor INTO @tablename
END
CLOSE CURSOR
DEALLOCATE CURSOR
ごPKのない名前に基づく配列しょ変更するものクエリに基づくsysconstraintsはsysindexesの実PKの名前です。
所属していません StackOverflow