久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

用于刪除具有系統生成名稱的 PK 約束的 SQL Serv

SQL Server 2008 Script to Drop PK Constraint that has a System Generated Name(用于刪除具有系統生成名稱的 PK 約束的 SQL Server 2008 腳本)
本文介紹了用于刪除具有系統生成名稱的 PK 約束的 SQL Server 2008 腳本的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在嘗試向 SQL Server 2008 中的現有表添加聚集索引,它需要是一個自動化腳本,因為該表存在于跨多個服務器的多個數據庫中.

I am trying to add a clustered index to an existing table in SQL Server 2008, and it needs to be an automated script, because this table exists on several databases across several servers.

為了添加聚集索引,我需要刪除表上的 PK 約束,然后將其重新添加為非聚集索引.問題是 PK 約束的名稱是自動生成的,并且在末尾附加了一個 guid,因此類似于PK_[Table]_D9F9203400".

In order to add a clustered index I need to remove the PK constraint on the table, and then re-add it as unclustered. The problem is the name of the PK constraint is auto-generated, and there is a guid appended to the end, so it's like "PK_[Table]_D9F9203400."

所有數據庫的名稱都不同,我不知道如何編寫一個自動化腳本,在我不知道約束名稱的表上刪除 PK 約束.任何幫助表示贊賞!

The name is different across all databases, and I'm not sure how to write an automated script that drops a PK constraint on a table in which I don't know the name of the constraint. Any help is appreciated!

更新:

下面的答案是我用過的.完整腳本:

Answer below is what I used. Full script:

Declare @Val varchar(100)
Declare @Cmd varchar(1000)

Set @Val = (
    select name
    from sysobjects
    where xtype = 'PK'
    and parent_obj = (object_id('[Schema].[Table]'))
)
Set @Cmd = 'ALTER TABLE [Table] DROP CONSTRAINT ' + @Val
Exec (@Cmd)
GO

ALTER TABLE [Table] ADD CONSTRAINT PK_Table
    PRIMARY KEY NONCLUSTERED (TableId)
GO

CREATE UNIQUE CLUSTERED INDEX IX_Table_Column
    ON Table (Column)
GO

推薦答案

你可以查一下約束的名字,寫一點動態 SQL 來處理 drop.

You can look up the name of the constraint and write a bit of dynamic SQL to handle the drop.

SELECT name 
    FROM sys.key_constraints 
    WHERE parent_object_id = object_id('YourSchemaName.YourTableName')
        AND type = 'PK';

這篇關于用于刪除具有系統生成名稱的 PK 約束的 SQL Server 2008 腳本的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個子標記轉換為具有多個分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個表創建視圖?)
Create calculated value based on calculated value inside previous row(根據前一行內的計算值創建計算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?) - IT屋-程序員軟件開發技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉換為日期/月份編號(問題和答案的組合))
主站蜘蛛池模板: 日韩和的一区二在线 | 欧美日韩高清免费 | 欧美日韩国产一区二区三区 | 日韩美香港a一级毛片免费 国产综合av | 欧美日韩不卡合集视频 | 中文字幕第十五页 | 欧美国产在线一区 | 黄网站免费在线观看 | 正在播放国产精品 | 99资源站 | 日本精品一区二区三区在线观看视频 | 日韩一区三区 | 一级黄色网页 | 国产精品大片在线观看 | 色吊丝2288sds中文字幕 | 亚洲精品成人网 | 色女人天堂| 秋霞国产 | 一区二区成人 | 99热热99 | 中文精品一区二区 | 91欧美| 成人a视频 | 国产亚洲一区二区三区 | 日韩中文字幕av | 精品久久久久久久久久久院品网 | 日本一区二区不卡视频 | 一区二区三区免费在线观看 | 亚洲精品国产成人 | 国产精品乱码一区二区三区 | 成人国产精品久久久 | 在线观看三级av | 国产精品国产精品 | 国产精品久久av | 国产1区在线 | 日韩电影一区 | 日韩免费高清视频 | 国产一级一片免费播放 | 亚洲在线一区二区 | 91在线视频观看 | 国产午夜在线 |