如何在SQLServer2008中使用表别名从XML写入更新已经有了一个';从';陈述
在这里,我需要将别名添加到“TableName”中作为T。更新已经有一个“From”语句,用于从XML获取值如何在SQLServer2008中使用表别名从XML写入更新已经有了一个';从';陈述,sql,sql-server,xml,sql-update,sqlxml,Sql,Sql Server,Xml,Sql Update,Sqlxml,在这里,我需要将别名添加到“TableName”中作为T。更新已经有一个“From”语句,用于从XML获取值 UPDATE TableName SET TableName.PrintedBy = ISNULL(TableName.PrintedBy,der.PrintedBy), TableName.PrintedDate = ISNULL(TableName.PrintedDate,GETDATE()), @RetVal=der.NoteId FROM ( SELE
UPDATE TableName SET
TableName.PrintedBy = ISNULL(TableName.PrintedBy,der.PrintedBy),
TableName.PrintedDate = ISNULL(TableName.PrintedDate,GETDATE()),
@RetVal=der.NoteId
FROM (
SELECT PrintedBy,NoteId
FROM OPENXML(@hDoc1,'TableName',1)
WITH ( PrintedBy INT 'PrintedBy',
NoteId INT 'NoteId'
)
) as der
WHERE TableName.NoteId = der.NoteId
试试这个
UPDATE T SET
T.PrintedBy = ISNULL(T.PrintedBy,der.PrintedBy),
T.PrintedDate = ISNULL(T.PrintedDate,GETDATE()),
@RetVal=der.NoteId
FROM (
SELECT PrintedBy,NoteId
FROM OPENXML(@hDoc1,'TableName',1)
WITH ( PrintedBy INT 'PrintedBy',
NoteId INT 'NoteId'
)
) as der, TableName T
WHERE T.NoteId = der.NoteId
可能是@DaleBurrell的复制品不是复制品。拉桑贾纳给出了正确的答案。他的解决方案针对您的问题。。。“但实际问题是一样的,”戴尔·伯雷尔说,但解决办法不同。