SQL: 确实存在无效列名的错误
SQL: error on invalid column name that does exist
我正在尝试创建一个包,它将从文件中复制数据并将其放入新的 table。到目前为止,一切都很好。
但如果包由于某种原因失败,我希望它截断新添加的数据。
所以,我希望它执行这条语句
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'
但我不断收到此错误:
"Error: 0xC002F210 at Delete From MYTABLE, Execute SQL Task: Executing the query "IF EXISTS (SELECT * FROM sys.objects WHERE object_...”失败并出现以下错误:"Invalid column name 'date'."。可能的失败原因:查询问题,"ResultSet" 属性 设置不正确,参数设置不正确,或者连接建立不正确。"
但是 MYTABLE 确实有一个名为 "date" 的列...我就是想不通问题出在哪里,google 也帮不了我。
我认为 "date" 是保留字,请尝试使用 [date]
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 服务器保留字:MSDN
查下括号中的列名,因为日期是 SQL Server
中的保留字
[日期]
我正在尝试创建一个包,它将从文件中复制数据并将其放入新的 table。到目前为止,一切都很好。 但如果包由于某种原因失败,我希望它截断新添加的数据。 所以,我希望它执行这条语句
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'
但我不断收到此错误: "Error: 0xC002F210 at Delete From MYTABLE, Execute SQL Task: Executing the query "IF EXISTS (SELECT * FROM sys.objects WHERE object_...”失败并出现以下错误:"Invalid column name 'date'."。可能的失败原因:查询问题,"ResultSet" 属性 设置不正确,参数设置不正确,或者连接建立不正确。"
但是 MYTABLE 确实有一个名为 "date" 的列...我就是想不通问题出在哪里,google 也帮不了我。
我认为 "date" 是保留字,请尝试使用 [date]
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 服务器保留字:MSDN
查下括号中的列名,因为日期是 SQL Server
中的保留字[日期]