我怎么能做这样的事情
select
a.atest, a.btest, a.ctest, b.atest, b.btest
from
test.dbo.rm a(nolock)
cross apply
wat.dbo.ar(a.atest,a.btest) b
where
a.rmd = 9 and a.btest > 0
alter function ar(@atest varchar(25), @btest numeric(19,5))
returns table as
return
(
select atest, btest from test.dbo.rm (nolock)
where rmd = 1 and atest=@atest and btest=@btest
)
使用删除语句或更新。我不想重复,所以在我选择一个之后,b.atest
我想删除记录b.atest
或设置b.btest
为 0。这个查询正在处理包含大约 5-10 百万条记录的表。所以它必须很快。