![](/img/trans.png)
[英]Is it possible to determine which rows are affected by SQL Server UPDATE?
[英]UPDATE in SQL Server 2008 getting '0 rows affected'
我已多次更改此查询,但仍然看到'0行受到影响。 一切都在SELECT
语句中起作用,但在UPDATE
失败。
这是查询:
UPDATE tblVisitLog
SET tblVisitLog.TimeOUT = (SELECT CAST(SUBSTRING(tblScheduleData.E_Time, 1,2 ) + ':' + SUBSTRING(tblScheduleData.E_Time, 3,2) + ':00.000' AS datetime)
FROM tblScheduleData
WHERE tblVisitLog.Encounter_code = tblScheduleData.Encounter_code),
tblVisitLog.Provider = (SELECT Provider
FROM tblScheduleData s
WHERE tblVisitLog.Encounter_code = s.Encounter_code),
tblVisitLog.recStatus = 0,
tblVisitLog.Printed = N'N'
WHERE
tblVisitLog.TimeOUT IS NULL
AND tblVisitLog.Provider IS NULL
数据类型为:
Encounter_code (int, null)
TimeOUT (datetime, null)
Provider (nvarchar(50), null)
recStatus (smallint, not null)
Printed (nvarchar(50), null)
我要更新的值都是NULL,我从tblScheduleData.E_Time
中提取的值是varchar(4), null
,格式为“ 1045”。
您的更新声明将是此处使用联接的很多清洁器。 这样的事情。
UPDATE vl
SET TimeOUT = CAST(SUBSTRING(s.E_Time, 1,2 )+ ':' + SUBSTRING(s.E_Time, 3,2) + ':00.000' AS datetime)
, Provider = s.Provider
, recStatus = 0
, Printed = N'N'
from tblVisitLog vl
join tblScheduleData s on vl.Encounter_code = s.Encounter_code
WHERE vl.TimeOUT Is NULL
AND vl.Provider Is Null
消息很清楚, '0 rows affected'
,请尝试执行此查询,您将看到一个空结果
select * from tblVisitLog
WHERE TimeOUT Is NULL AND Provider Is Null
首先更改标准
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.