NOLOCK on Views,是否会传播到表中?

时间:2009-06-11 15:03:27

标签: sql-server locking

如果在VIEW的select中包含NOLOCK,NOLOCK是否会向下传播到视图中连接的表中?如果没有,锁定VIEW的目的是什么?

示例查看代码:

CREATE VIEW [my_custom_view]
AS
  SELECT
    a1.[column_a], a1.[column_b], a1.[column_c], a1.[column_d]
  FROM
    [table_a] a1
    JOIN [table_b] b1 ON b1.[column_a] = a1.[column_b]

和NOLOCK声明:

SELECT 
  [column_a], [column_b]
FROM
  [my_custom_view] NOLOCK

3 个答案:

答案 0 :(得分:8)

答案 1 :(得分:2)

NOLOCK经常会导致错误的结果,您可以使用快照隔离吗?

答案 2 :(得分:0)

为什么不直接在视图定义中添加nolock?这样您就不需要将其显式添加到视图中