sql-server-2008 - SQL 更新语句 - "SET"附近的语法错误?

标签 sql-server-2008 sql-update

我正在根据一些冷融合逻辑生成下面的 sql 语句,但它出错了,我似乎无法找到原因,我尝试对它进行了许多不同的修改,但似乎没有任何帮助。

UPDATE MAIN_RECORDS 
SET JONUM = NULL, 
SET CUSTNAME = 'Super Sweet Name', 
SET CONTACTDT = 02/28/2011, 
SET ENGRECDT = 03/07/2011, 
SET HOW_WR_DT = 03/07/2011, 
SET COMM_DT = 03/29/2011, 
SET FACAVALDT = NULL, 
SET FAX_SUPDT = 03/07/2011, 
SET LINENUM = 'CLPRO L6', 
SET POLENUM = 'CLPRO 125 T T3', 
SET REASON = '03/07/11 NO VAC FAC THIS IS THE WRONG INFORMATION IT WAS ON HERE TWICE', 
SET REC_TYPE = 'H', 
SET ORDER_TYPE = 'P', 
SET CANCEL_ORDER = 'Y', 
SET State_abbr = 'IL', 
SET dbfk_state = 17, 
SET xx_streetnumber = '2626', 
SET xx_street = 'Fake St', 
SET xx_city = 'NEWTON', 
SET xx_class_of_service_ind = 'R', 
SET xx_cellphone_ind = '1', 
SET xx_assigned_phone = '3045653897', 
SET xx_exchange_name = 'NEWTON', 
SET XX_new_ref_code = '60', 
SET xx_new_service_type = '11', 
SET ORD_COMDT = 03/11/2011, 
SET delivery_date = NULL 
WHERE ordernum = '08824112' AND exchnum = '304565' 

目前,管理工作室给我的错误是:
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'SET'.

最佳答案

您只需要 1 SET声明,而不是您拥有的多个声明。

此外,您的日期需要用单引号括起来。

例如。:

UPDATE MAIN_RECORDS 
SET JONUM = NULL, 
    CUSTNAME = 'Super Sweet Name', 
    CONTACTDT = '02/28/2011', 
    ENGRECDT = '03/07/2011', 
    HOW_WR_DT = '03/07/2011', .....

关于sql-server-2008 - SQL 更新语句 - "SET"附近的语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7324770/

相关文章:

sql-server - 显示查询必须在 SQL Server 中运行多长时间

sql-server - 为作业 'SSIS Package Exec' 创建失败

sql-server - 将自定义位置添加到文件 |打开| SQL Server 2008 中的文件

MySQL:更新一个完整的表,插入一个 MD5 哈希,为每一行一个特定的

sql - 将预定义的默认值添加到 T-SQL 中的列

sql-server-2008 - 使用 Join、Group By 和having 进行更新

postgresql - 将 postgreSQL 触发器应用于数据库中的现有行

mysql - 如何减少 mysql 数据库中现有日期列中的一天?

mysql - 一组 ID 的单个更新最后一行条目 - MySQL

mysql - 如果满足条件则更新表。 (将b表的值更新为a)需要对应的值