2017-05-03 60 views
0

表1創建表給出了錯誤的表已經存在

Col1 Col2  Col3 
1 'Name1' 'Address1' 

哪裏col1與約束'constraint1'主鍵。

現在我想將Table1重命名爲Table2。在將它添加col1_1,改變從「COL1」主鍵col1_1

然後創建一個名爲「Table1

現在我已經更名爲表table1參見表2新表,並在其中添加列「col1_1」作爲主鍵在部署腳本中。

在預部署腳本中:

1:刪除舊的主鍵約束。

2:使用sp_rename

當我公佈我得到錯誤「Table2」對象已經存在於創建「Table2

+0

您可以顯示腳本嗎?這聽起來就像'sp_rename'後面沒有'GO'。 –

+0

IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '表1') \t BEGIN \t \t EXEC sp_rename '表1', '表2' \t END GO –

+1

sp_rename –

回答

0

如果你有機會到SSMS,或者如果你的數據庫重命名Table1Table2可以讓DBA爲你檢查它。然後請首先檢查名稱爲Table2的對象是否已經存在。 您可能運行低於T-SQLS

USE DatabaseName 
GO 
select * from sysobjects 
where name = 'Table2' 
GO 

在上述查詢的結果集,將的xtype表示的對象類型。您可以通過運行以下查詢來獲取對象類型列表:

SELECT * 
FROM master..spt_values 
WHERE type = 'O9T' 
相關問題