1

SP の 1 つに次のロジックがあります。

if object_id('tempdb..##val','u') is null begin
    create table ##val (
                name varchar(512)
                ,val nvarchar(max)
    )
end

    insert ##val (name,val)values('some unique name','abcdef')

この質問には、確認を示す回答がありますif object_id(が、次の懸念があります。

1) このチェックは競合状態の観点からスレッドセーフですか? sp_GetAppLock具体的には、 /を使用する必要がありますsp_ReleaseAppLockか?

2) if 条件はテーブルの参照を予約します##valか? 具体的には、##val テーブルが存在しないためにステートメントを作成する条件 ##valの否定的な結果が失敗した直後に、他のすべてのセッションが参照を解放する可能性はありますか? はいの場合、そのテーブルの行をロックせずに現在のセッションから参照を予約して保持する方法。ifinsert##val

4

0 に答える 0