我尝试使用脚本在表中添加列,无论我更改为哪个名称,它总是返回错误提示
每个表中的列名必须唯一。表中的列名称“ xxx” 多次指定了“ TEST_TABLE”。
我随机键入一个名称,但仍然说该名称被多次指定。但实际上还不存在,因此还没有成功添加列。
有人有什么主意吗? 谢谢
以下是我的查询:
GO
if not exists(SELECT * FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'TEST_TABLE' AND COLUMN_NAME = 'EP_TEXT')
begin
ALTER TABLE TEST_TABLE ADD EP_TEXT [dbo].[UDDT_MAXVARCHAR] NULL
end
GO
答案 0 :(得分:0)
问题是INFORMATION_SCHEMA.TABLE没有COLUMN_NAME列。试试这个:
IF NOT EXISTS(
SELECT * from INFORMATION_SCHEMA.TABLES t1
INNER JOIN INFORMATION_SCHEMA.COLUMNS t2 on t1.TABLE_NAME = t2.TABLE_NAME
where t1.TABLE_NAME = 'TEST_TABLE' and t2.COLUMN_NAME = 'EP_TEXT'
)