SQL Server 2012
我有一个DataSource,它是一个包含更多记录的视图(比如说50000条记录以及更多)。我有一个存储过程,将从该视图中进行选择。
查看(vw_Info
)有列
Machinename, m_Start, m_end, m_status
我将传递用户定义的表格类型,其中包含以下2列作为输入
Machinename LastTimeStamp
样品
create table #tmp (MachineName nvarchar(50), LastTimeStamp datetime)
insert into #tmp (MachineName, LastTimeStamp)
values ('A01', '2017-12-21 06:29:13.027'), ('A02', '2017-12-21 06:29:13.027'),
('A03', '2017-12-21 06:29:13.027')
我需要从视图中选择与MachineName和M_Start>匹配的所有记录。 lasttimestamp
我的查询
select
a.MachineName, fc.m_start, fc.m_end
from
#tmp A
inner join
(select * from vw_Info) fc on a.MachineName = fc.machineName
and fc.m_start > a.LastTimeStamp
这是一个有效的SQL查询吗?我将使用服务来调用此存储过程查询,每1分钟获取一次记录。
请建议