如果我嘗試執行以下查詢:我該如何解決「參數@objname不明確或聲明的@objtype(COLUMN)錯誤。」?
EXEC sp_rename 'ENG_TEst.[ENG_Test_A/C_TYPE]', 'ENG_Test_AC_TYPE', 'COLUMN'
我得到一個錯誤:
Either the [email protected] is ambiguous or the claimed @objtype (COLUMN) is wrong.
我該如何解決呢?
如果我嘗試執行以下查詢:我該如何解決「參數@objname不明確或聲明的@objtype(COLUMN)錯誤。」?
EXEC sp_rename 'ENG_TEst.[ENG_Test_A/C_TYPE]', 'ENG_Test_AC_TYPE', 'COLUMN'
我得到一個錯誤:
Either the [email protected] is ambiguous or the claimed @objtype (COLUMN) is wrong.
我該如何解決呢?
堅果。幾周前,我也遇到了同樣的錯誤,在浪費了大量時間之後,我想到了如何讓它發揮作用 - 但我忘記了它。 (沒有太大的幫助,除了說是的,它可以完成。)
您是否嘗試過不同的括號組合,或使用和不使用括號?例如
EXEC sp_rename 'ENG_TEst.ENG_Test_A/C_TYPE', 'ENG_Test_AC_TYPE', 'COLUMN';
EXEC sp_rename '[ENG_TEst].[ENG_Test_A/C_TYPE]', 'ENG_Test_AC_TYPE', 'COLUMN';
EXEC sp_rename '[ENG_TEst].[ENG_Test_A/C_TYPE]', '[ENG_Test_AC_TYPE]', 'COLUMN';
EXEC sp_rename '[ENG_TEst].ENG_Test_A/C_TYPE', 'ENG_Test_AC_TYPE', 'COLUMN';
如果一切都失敗了,總是有
對我來說第二個選項的工作 – 2013-11-03 14:13:11
我剛剛得到了Op的錯誤本身。當我再次運行sp_rename時,我得到了正確的錯誤:對象'BlahColumnID'無法重命名,因爲對象參與強制依賴關係。就我而言,這是因爲BlahColumnID參與了計算列功能。 – AlwaysLearning 2014-03-10 05:12:23
對我來說,我不得不在第二個建議的語法前加上'[dbo] .':[[dbo]。[ENG_TEst]。[ENG_Test_A/C_TYPE]'。我特別的問題是使用實體框架的RenameColumn(),雖然它是sp_rename的包裝。 – levininja 2015-04-01 15:52:43
您是否在正確的數據庫中運行查詢?即
Use MyDatabase;
GO
EXEC sp_rename 'ENG_TEst.[ENG_Test_A/C_TYPE]', 'ENG_Test_AC_TYPE', 'COLUMN';
GO
我也有這個問題 - 非常討厭,還沒有找到一個令人滿意的sql答案(除了涉及創建臨時表等冗長的問題),我沒有時間去探索它,結果我會喜歡。
最後,只需使用SQL Server Management Studio通過選擇表,右鍵單擊列並點擊重命名即可。 簡單!
顯然我寧願知道如何做到沒有gui但有時你只是得讓sh **完成!
您可以單擊工具欄中的「腳本」圖標查看SSMS如何執行它! – 2011-03-25 12:00:26
@MartinSmith你可以讓SSMS編寫通過對象瀏覽器重命名列的動作嗎?我無法弄清楚如何。我能想到的唯一方法是使用SQL Profiler來追蹤它,但這很重要。 – 2013-03-06 17:36:46
@IainElder - 您可以,但您需要在設計視圖中打開表格,然後重命名該列,然後編寫更改。如果你直接在樹視圖中重命名列,那麼它只是沒有給它腳本編寫的機會。 – 2013-03-06 17:56:07
以下兩項工作(as discussed here)。
exec sp_rename 'ENG_TEst.[[ENG_Test_A/C_TYPE]]]' ,
'ENG_Test_A/C_TYPE', 'COLUMN'
exec sp_rename 'ENG_TEst."[ENG_Test_A/C_TYPE]"' ,
'ENG_Test_A/C_TYPE', 'COLUMN'
這工作
EXEC sp_rename
@objname = 'ENG_TEst."[ENG_Test_A/C_TYPE]"',
@newname = 'ENG_Test_A/C_TYPE',
@objtype = 'COLUMN'
我認爲objectname應該是objname – curiousBoy 2014-02-05 21:58:15
只是嘗試刪除鏈接到該列的統計指標。
最好的問候。
更新代碼第一個MVC5數據庫時出現此錯誤。從我的數據庫中刪除(右鍵單擊,刪除)所有表格,並從Migration文件夾中刪除遷移對我有用。
我就遇到了這個今天得到它一起工作:
EXECUTE sp_rename N'dbo.table_name.original_field_name', N'new_field_name', 'COLUMN'
爲了得到這個語法,我跟着上面馬丁·史密斯的建議 - 在設計視圖中打開表,重命名列,然後單擊表設計師|生成更改腳本。這產生低於該做的重命名腳本分爲兩步:
/* To prevent any potential data loss issues, you should review this script in
detail before running it outside the context of the database designer.*/
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
EXECUTE sp_rename N'dbo.table_name.original_field_name', N'Tmp_new_field_name_1', COLUMN'
GO
EXECUTE sp_rename N'dbo.table_name.Tmp_new_field_name_1', N'new_field_name', 'COLUMN'
GO
ALTER TABLE dbo.table_name SET (LOCK_ESCALATION = TABLE)
GO
COMMIT
其次,對於SSMS不提供改變腳本的情況,即改變索引;在重命名時運行SQL分析器跟蹤,以查看它生成的腳本。 – 2014-03-11 10:45:53
我試着在這個網站每一個可能的解決方案並沒有什麼工作適合我。我最終做了設計模式。右鍵單擊表名稱,然後單擊設計。然後我改了名字並保存在這裏。工作簡單。
向我們展示'ENG_MYTALLY'的定義 – egrunin 2010-06-22 08:56:10
在我的情況下,我得到了這個錯誤,因爲我嘗試更新的表名不存在。 – Samuel 2013-05-27 21:06:27
這是由於類名(模型)名稱的衝突,當自動創建表和... – 2015-02-16 17:23:09