我正在尝试创建一个程序包,该程序包将从文件中复制数据并将其放入新表中。到目前为止,一切都很好。但是如果由于某种原因该程序包失败,我希望它截断新添加的数据。所以,我希望它执行此语句
如果存在(在系统对象中选择* *从sys.objects中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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句