簡體   English   中英

在同一個TransactionScope()中調用兩個存儲過程

[英]Calling two stored procedures in the same TransactionScope()

我有兩個存儲過程,並在同一個TransactionScope中按如下方式調用它們。

  • 第一個SPInsert() -在表A中插入新行

  • 第二個SPUpdate() -更新表A中最近插入的行

我的問題是,即使我在調用第二個存儲過程之前已設置一個斷點,但在TransactionScope完成之前,我無法在表中看到第一個存儲過程的行。

難道我做錯了什么?

using (var transactionScope = new TransactionScope())
{
    // Call and execute stored procedure 1
    SPInsert();

    // Call and execute stored procedure 2
    SPUpdate();

    transactionScope.Complete();
}

詳細:

我在SPInsert之后緊接SPUpdate設置了一個斷點,想檢查SQL以查看是否插入了行,但是當我運行查詢以檢查表時,它一直在執行,從未停止。 似乎此時無法訪問該表。 然后,在調用第二個存儲過程之前,如何檢查行是否已插入

由於您正在進行事務處理,因此在設計上和默認情況下,如果使用其他會話進行連接,則SQL Server不會顯示任何未提交的操作。 這就是為什么您看不到未提交的操作的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM