我正在尝试使用存储过程sp_rename来更改列名。但是,我在尝试引用列时遇到错误,因为它们包含符号[和]。我甚至不能选择:
select [Materials].[All] from Temp_Table
Msg 4104,Level 16,State 1,Line 1 无法绑定多部分标识符“Materials.All”。
“[Materials]。[All]”是列的名称。我试过这样的话:
你看到任何解决方案吗?感谢。
编辑:好的,已经提出了一些解决方案使它在select语句中工作,但是在存储过程中使用它时仍然会出错:
EXEC sp_rename '[DBName].[Temp_Table].[Materials].[Material Type].[All]]', 'All', 'COLUMN';
错误:语法错误解析SQL标识符'[KS_Control_Area]。[Temp_Table_MaterialType_Mios]。[Materials]。[Material Type]。[All]]'。
答案 0 :(得分:0)
您需要正确引用列名称。因此,对于名为silly[column]name
的列,您将使用[silly[column]]name]
。请注意,名称中的[
不需要转义,但]
会转义(]]
)。