Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL更新选择多部分标识符;旧的“SP.Num”;无法约束_Sql_Sql Server_Sql Update - Fatal编程技术网

SQL更新选择多部分标识符;旧的“SP.Num”;无法约束

SQL更新选择多部分标识符;旧的“SP.Num”;无法约束,sql,sql-server,sql-update,Sql,Sql Server,Sql Update,运行查询时,错误为: 无法绑定多部分标识符“OLD_SP.Num” 为什么?使用 Declare @modCode varchar(3) SET @modCOde = 'SOR'; UPDATE Doc_SalesOrder SET OLD_SP.Num = NEW_SP.NewNum FROM Doc_SalesOrder as OLD_SP INNER JOIN ( Select Id, dbo.ApplyModuleCode(@mod

运行查询时,错误为:

无法绑定多部分标识符“OLD_SP.Num”

为什么?

使用

Declare @modCode varchar(3)
SET @modCOde = 'SOR';

UPDATE  Doc_SalesOrder
SET     OLD_SP.Num = NEW_SP.NewNum
FROM    Doc_SalesOrder as OLD_SP
INNER JOIN
(
     Select
       Id,
       dbo.ApplyModuleCode(@modCode,Num) as NewNum 
     From Doc_SalesOrder
     Where Num not LIKE '%'+@modCOde+'%'
)NEW_SP ON OLD_SP.Id = NEW_SP.Id
或者干脆在set语句目标中完全删除表前缀。这里没有歧义

UPDATE  OLD_SP
SET     OLD_SP.Num = NEW_SP.NewNum
FROM    Doc_SalesOrder as OLD_SP /* .... */
使用

或者干脆在set语句目标中完全删除表前缀。这里没有歧义

UPDATE  OLD_SP
SET     OLD_SP.Num = NEW_SP.NewNum
FROM    Doc_SalesOrder as OLD_SP /* .... */