在存储过程级别设置时,视图的隔离级别是多少?
What is the view's isolation level when you set in stored procedure level?
标题可能难以阅读。
场景是这样的:我有一个视图my_view
(默认情况下,它将被读取提交)。然后我刚刚创建了一个新的存储过程:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
select *
from table1
inner join my_view
现在,当然,table1 将被读取为未提交,但是 my_view
呢?
是读提交还是读未提交?
谢谢
I have a view: my_view (read committed)
不,正如您似乎暗示的那样,该视图没有关联的隔离级别。视图只是一个存储的查询。该查询将在您 运行 时以任何有效的隔离级别执行。
因此,如果从将隔离级别设置为 read uncommitted
(您的示例)的存储过程中查询您的视图,那么查询将以该隔离级别执行,就这么简单。
标题可能难以阅读。
场景是这样的:我有一个视图my_view
(默认情况下,它将被读取提交)。然后我刚刚创建了一个新的存储过程:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
select *
from table1
inner join my_view
现在,当然,table1 将被读取为未提交,但是 my_view
呢?
是读提交还是读未提交?
谢谢
I have a view: my_view (read committed)
不,正如您似乎暗示的那样,该视图没有关联的隔离级别。视图只是一个存储的查询。该查询将在您 运行 时以任何有效的隔离级别执行。
因此,如果从将隔离级别设置为 read uncommitted
(您的示例)的存储过程中查询您的视图,那么查询将以该隔离级别执行,就这么简单。