表变量在sql server 2008 r2上是否安全?

tug*_*erk 4 sql t-sql sql-server sql-server-2008-r2

例如,我将在我的一个存储过程中使用以下表变量;

DECLARE @MyTempTable TABLE 
(
   someField int,
   someFieldMore nvarchar(50)
)
Run Code Online (Sandbox Code Playgroud)

这个变量线程安全吗?如果多个请求同时发生,您认为会发生冲突吗?

gbn*_*gbn 10

是.

"线程安全"在SQL Server中将是"范围安全的"或"连接安全的".范围安全也意味着连接安全.

表变量类似于正常变量:该范围的本地变量.每个连接彼此隔离,每个连接都是一系列范围

最好的例子就是它们之间的区别

  • SCOPE_IDENTITY =范围安全
  • @@ IDENTITY =连接安全,不保证范围安全
  • IDENT_CURRENT =无论如何都不安全

请参阅:@@ IDENTITY vs SCOPE_IDENTITY()vs IDENT_CURRENT [sql server 2005]