關於使用SQL重命名錶列(MS SQL Server 2005變體)的最佳做法是什麼?這假設列中有數據必須保留。重命名MS SQL Server 2005中的列
23
A
回答
47
您必須使用存儲的proc來重命名列。以下內容會將您的專欄從'oldColumnName'重新命名爲'newColumnName',而不影響任何數據。
EXEC sp_rename 'tableName.[oldColumnName]', 'newColumnName', 'COLUMN'
很明顯,您必須手動更新任何使用舊名稱的代碼/存儲過程/ SQL。
0
我今天有同樣的問題,解決方案是殺死數據庫上的所有進程,導致進程被鎖定的交易。我執行了sp_rename過程,但問題沒有解決。所以我殺了數據庫和過程中的進程。
USE MASTER
GO
--Kill all the connections opened in database.
DECLARE @dbname sysname
SET @dbname = 'database_name'
DECLARE @spid int
SELECT @spid = min(spid) from master.dbo.sysprocesses where dbid = db_id(@dbname)
WHILE @spid IS NOT NULL
BEGIN
EXECUTE ('KILL ' + @spid)
SELECT @spid = min(spid) from master.dbo.sysprocesses where dbid = db_id(@dbname) AND spid > @spid
END
SELECT request_session_id
FROM sys.dm_tran_locks
WHERE resource_database_id = DB_ID('database_name')
相關問題
- 1. 重命名的SQL Server索引在MS SQL Server
- 2. MS SQL Server 2005的sp_stored_procedures
- 3. 爲MS SQL Server 2005的
- 4. 重命名SQL Server中的列
- 5. 問題在SQL Server中重命名列
- 6. 帶命名空間的SQL Server 2005 XML
- 7. MS SQL Server 2005中的存儲過程
- 8. 如何在表上重命名PK,MS SQL 2005
- 9. 在MS SQL Server 2005中插入IGNORE?
- 10. MS SQL Server 2005中 - 將類似數據
- 11. 從MS SQL Server 2005中選擇數據
- 12. 在MS SQL Server 2005中不支持OVER?
- 13. SQL查詢,通配符,MS SQL SERVER 2005
- 14. 重命名SQL中的列
- 15. MS SQL Server 2005上的索引varchar
- 16. 是否可以重命名SQL Server 2005實例
- 17. SQL Server 2005中
- 18. SQL Server 2005中的分區
- 19. 重命名sql server 2008中的列名稱
- 20. 當在Sql Server中重命名列時的流言表名稱
- 21. 如何重命名SQL Server中的表?
- 22. 重命名SQL Server中的約束?
- 23. SQL Server 2005 - 列到行
- 24. SQL Server 2008到SQL Server 2005
- 25. ms sql server 2005數據庫容量
- 26. 想要連接PHP5到MS SQL SERVER 2005
- 27. MS SQL Server 2005 GROUP BY和SUM
- 28. 如何學習MS SQL Server 2005?
- 29. 在MS SQL服務器中重命名錶名。需要更改
- 30. SQL Server 2005中