SQL Server表值函数锁问题

问题描述 投票:0回答:1

我有一个表值函数

ALTER FUNCTION dbo.fn_Test
()
RETURNS 
@t TABLE 
(
    ID INT
)
AS
BEGIN
    INSERT INTO @t(ID) select ID from dbo.Table;    
    RETURN 
END
GO

我的问题是,如果我在连接到另一个表的 select 语句中使用此函数,例如,主查询 aqcuire 是否会在 dbo.Table 上共享读锁?还是会从主查询中独立获取锁来填充表变量?

谢谢,

sql-server deadlock
1个回答
0
投票

评论太长...

只是说你可以简化你的功能:

ALTER FUNCTION  pyro.fn_Test
Returns Table 
As
Return (  

   Select ID from dbo.Table

)
© www.soinside.com 2019 - 2024. All rights reserved.