gpt4 book ai didi

sql - 跨同一连接池的多个请求的临时表是否唯一?

转载 作者:行者123 更新时间:2023-12-04 06:10:38 26 4
gpt4 key购买 nike

我有以下存储过程,它使用临时表来批量导入数据。我知道每个 session 的临时表都是唯一的,但是我想知道我的应用程序是否使用线程并对存储过程发出多个并发请求,使用来自应用程序池的相同 sql 连接,它们最终会引用相同的临时表?

CREATE PROCEDURE [dbo].[Mytestproc]
AS
BEGIN
BEGIN TRANSACTION

CREATE TABLE #Hold
(
ID INT,
VAL NVARCHAR(255)
)

BULK INSERT #Hold
FROM 'C:\data.txt'
WITH
(
FieldTermInAtOr ='|',
RowTermInAtOr ='\n'
)

SELECT *
FROM #Hold

DROP TABLE #Hold

COMMIT TRANSACTION
END

最佳答案

当一个线程正在使用一个连接并执行这个存储过程时,连接池不能重用同一个连接——所以没有在那里共享的危险。其他线程无法使用此连接,而是会打开新的连接。

此外,无需在存储过程结束前删除临时表 - 在存储过程中创建的临时表会在该过程退出时自动删除。

关于sql - 跨同一连接池的多个请求的临时表是否唯一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7826246/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com