|
當(dāng)我們編了一段代碼, 執(zhí)行時(shí)間會(huì)需要好幾十秒鐘甚至更長, 比如是一段游標(biāo)程序, 它要訪問所有的記錄并改變它們. 我 發(fā)現(xiàn)我在Query Analyzer工具里執(zhí)行后所有的記錄都能按我所愿改變, 當(dāng)換成以下幾種環(huán)境時(shí)程序會(huì)出現(xiàn)只更新了最前一 部分記錄的怪事:
1.當(dāng)在ASP中直接用con.execute語句執(zhí)行直接SQL時(shí) 2.當(dāng)在ASP中直接用con.execute調(diào)用相應(yīng)的代碼的存儲(chǔ)過程時(shí) 3.當(dāng)在ASP中用command調(diào)用無任何參數(shù)的存儲(chǔ)過程時(shí) 4.當(dāng)在ASP中調(diào)用沒有輸出參數(shù)的存儲(chǔ)過程時(shí)
一次不經(jīng)意的操作, 我發(fā)現(xiàn)當(dāng)使用帶有輸出參數(shù)的存儲(chǔ)過程時(shí), 程序能夠執(zhí)行很少一段時(shí)間, 并使所有記錄生效. 我的 目的是達(dá)到了, 但這是為什么呢? 為什么SQL語句在上面的4種情況下只執(zhí)行一下子就停下了?
一點(diǎn)說明: 輸出參數(shù)只要有一個(gè)就可以, 不管它在存儲(chǔ)過程中是否用得著.
|