如果我尝试执行以下查询:
EXEC sp_rename 'ENG_TEst.[ENG_Test_A/C_TYPE]', 'ENG_Test_AC_TYPE', 'COLUMN'
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
参数@ objname是不明确的,或者声明的@objtype(COLUMN)是错误的.
我该如何解决?
Phi*_*ley 25
坚果.几个星期前我遇到了同样的错误,经过大量的浪费时间想出如何让它发挥作用 - 但我已经忘记了它.(没有多大帮助,除了说是,它可以做到.)
您是否尝试过不同的括号组合,或者有没有括号的组合?例如
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';
Run Code Online (Sandbox Code Playgroud)
如果一切都失败了,总会有
Orl*_*ndo 16
这有效
EXEC sp_rename
@objname = 'ENG_TEst."[ENG_Test_A/C_TYPE]"',
@newname = 'ENG_Test_A/C_TYPE',
@objtype = 'COLUMN'
Run Code Online (Sandbox Code Playgroud)
Joe*_*lli 14
您是否在正确的数据库中运行查询?即
Use MyDatabase;
GO
EXEC sp_rename 'ENG_TEst.[ENG_Test_A/C_TYPE]', 'ENG_Test_AC_TYPE', 'COLUMN';
GO
Run Code Online (Sandbox Code Playgroud)
我今天遇到了这个问题并得到了它:
EXECUTE sp_rename N'dbo.table_name.original_field_name', N'new_field_name', 'COLUMN'
Run Code Online (Sandbox Code Playgroud)
为了获得这种语法,我按照上面的Martin Smith的建议 - 在设计视图中打开表,重命名列,然后单击表设计器| 生成更改脚本.这产生了下面的脚本,它分两步重命名:
/* 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
94633 次 |
| 最近记录: |