繁体   English   中英

SQL:存在的无效列名称错误

[英]SQL: error on invalid column name that does exist

我正在尝试创建一个包,该包将从文件中复制数据并将其放入新表中。 到现在为止还挺好。 但是如果由于某种原因该程序包失败,我希望它截断新添加的数据。 所以,我希望它执行此语句

如果存在(从系统对象的SELECT * FROM object_id = OBJECT_ID(N'TABLE_NAME')并键入(N'U'))从TABLE_NAME中删除WHERE date ='2015-11-10'

但是我一直收到此错误:“错误:从MYTABLE删除时出现0xC002F210,执行SQL任务:执行查询“如果存在(SELECT * FROM sys.objects WHERE object _...”)失败,并出现以下错误:“无效的列名' “。可能的失败原因:查询问题,“ ResultSet”属性未正确设置,参数未正确设置或连接未正确建立。”

但是MYTABLE确实有一个称为“日期”的列...我只是不知道问题出在哪里,而Google却无法帮助我。

我相信“日期”是保留字,请尝试使用[日期]

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'TABLE_NAME') AND [type] in (N'U')) DELETE FROM TABLE_NAME WHERE [date]='2015-11-10'

SQL Server保留字: MSDN

由于日期是SQL Server中的保留字,因此将括号中的列名删除

[日期]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM