SQL一次查出相关类容避免长时间占用表(下)

时间:2023-03-09 05:14:25
SQL一次查出相关类容避免长时间占用表(下)
/*
server:
db: EDI
*/
-- 以下案例多次查询同一张表,仅有Name条件不同
--可以使用一次查出相关类容避免长时间占用表
USE EDI
GO
DECLARE @FileTypeID_X12850 int
,@FileTypeID_X12832 int
,@FileTypeID_X12846 int
SELECT TOP 1
@FileTypeID_X12850 = ID
FROM dbo.EDI_CFG_FileType WITH(NOLOCK)
WHERE
Name='X12850'
SELECT TOP 1
@FileTypeID_X12832 = ID
FROM dbo.EDI_CFG_FileType WITH(NOLOCK)
WHERE
Name='X12832'
SELECT TOP 1
@FileTypeID_X12846 = ID
FROM dbo.EDI_CFG_FileType WITH(NOLOCK)
WHERE
Name='X12846' ---更改后 use EDI
go DECLARE @FileTypeID_X12850 int
,@FileTypeID_X12832 int
,@FileTypeID_X12846 int select @FileTypeID_X12850=X12850
,@FileTypeID_X12832=X12832
,@FileTypeID_X12846=X12846 --select X12850,X12832
from
(
select ID,Name from dbo.EDI_CFG_FileType WITH(NOLOCK)
where Name in('X12850','X12832','X12846')
) as tem
pivot
(
max(ID)
for
Name in ([X12850],[X12832],[X12846])
)
as piv
select @FileTypeID_X12850
,@FileTypeID_X12832
,@FileTypeID_X12846