濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > EXEC(EXECUTE)函數(shù)訪問(wèn)INSERTED或DELETED的內(nèi)部臨時(shí)觸發(fā)表

EXEC(EXECUTE)函數(shù)訪問(wèn)INSERTED或DELETED的內(nèi)部臨時(shí)觸發(fā)表

熱門標(biāo)簽:山西語(yǔ)音外呼系統(tǒng)價(jià)格 北京辦理400電話多少 重慶防封電銷機(jī)器人供應(yīng)商 智能語(yǔ)音外呼系統(tǒng)哪個(gè)牌子好 溫州語(yǔ)音外呼系統(tǒng)代理 400電話申請(qǐng)需要開(kāi)戶費(fèi)嗎 南京電銷外呼系統(tǒng)運(yùn)營(yíng)商 西安青牛防封電銷卡 威海智能語(yǔ)音外呼系統(tǒng)
剛開(kāi)始時(shí),這個(gè)表的字段很少(10個(gè)以內(nèi)),前開(kāi)發(fā)者把這個(gè)表的所有存儲(chǔ)過(guò)程與觸發(fā)器以及表函數(shù)全是寫(xiě)死了。用戶每添加一些字段,都需要手動(dòng)去更改這些存儲(chǔ)過(guò)程與觸發(fā)器以及表函數(shù)?,F(xiàn)在這個(gè)表的字段已經(jīng)高達(dá)300個(gè)以上,有可能還會(huì)增長(zhǎng),因此Insus.NET的業(yè)務(wù)就是把這此靜態(tài)全改寫(xiě)為動(dòng)態(tài)處理。

然而有一個(gè)問(wèn)題一直困攏至昨天,昨天是星期天本應(yīng)是休息的,但是這個(gè)問(wèn)題沒(méi)有解決,因此這天算不上休息了。

問(wèn)題就是改寫(xiě)表的觸發(fā)器,涉及到EXEC(EXECUTE)函數(shù)訪問(wèn)INSERTED或DELETED的內(nèi)部臨時(shí)觸發(fā)表,如:
復(fù)制代碼 代碼如下:

EXECUTE('SELECT '+ @N +' = ISNULL(['+ @I +'],0) FROM inserted')


當(dāng)你嘗試執(zhí)行上面的SQL語(yǔ)句,會(huì)得到一個(gè)異常提示:invalid object name 'inserted'。我們無(wú)法顯示訪問(wèn)INSERTED或DELETED的內(nèi)部臨時(shí)觸發(fā)表。

由于INSERTED或是DELETED表是動(dòng)態(tài)駐留在內(nèi)存中,而不是存儲(chǔ)在數(shù)據(jù)庫(kù)中,它不是顯式的。觸發(fā)器的執(zhí)行是在導(dǎo)致觸發(fā)器被觸發(fā)的執(zhí)行計(jì)劃中。當(dāng)我們使用EXEC(EXECUTE)或sp_executesql執(zhí)行動(dòng)態(tài)生成的SQL語(yǔ)句時(shí),它卻是另外一個(gè)單獨(dú)的執(zhí)行計(jì)劃。兩者之間的資源無(wú)法相互訪問(wèn),再加上計(jì)劃執(zhí)行完畢,內(nèi)存也隨之釋放資源了。

但是問(wèn)題還是需要解決,Insus.NET想起的還是臨時(shí)表??梢园袸NSERTED或DELETED表中的數(shù)據(jù),首先轉(zhuǎn)換入臨時(shí)表了。這樣子,我們就可以對(duì)臨時(shí)表的數(shù)據(jù)進(jìn)行處理了。

復(fù)制代碼 代碼如下:

SELECT * INTO #inserted FROM INSERTED
SELeCT * INTO #deleted FROM DELETED



實(shí)現(xiàn)代碼:

復(fù)制代碼 代碼如下:

DECLARE @F NVARCHAR(MAX) = CONVERT(NVARCHAR(MAX),@I) --@I動(dòng)態(tài)字段
EXECUTE ('SELECT ['+ @F +'] FROM #deleted)

標(biāo)簽:濟(jì)寧 中衛(wèi) 貸款群呼 新余 宜春 黃山 河源 金昌

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《EXEC(EXECUTE)函數(shù)訪問(wèn)INSERTED或DELETED的內(nèi)部臨時(shí)觸發(fā)表》,本文關(guān)鍵詞  EXEC,EXECUTE,函數(shù),訪問(wèn),INSERTED,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《EXEC(EXECUTE)函數(shù)訪問(wèn)INSERTED或DELETED的內(nèi)部臨時(shí)觸發(fā)表》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于EXEC(EXECUTE)函數(shù)訪問(wèn)INSERTED或DELETED的內(nèi)部臨時(shí)觸發(fā)表的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    蓝山县| 通河县| 北川| 武川县| 新沂市| 天水市| 旬阳县| 达孜县| 内黄县| 凭祥市| 柘城县| 旌德县| 江孜县| 成都市| 铅山县| 昂仁县| 行唐县| 河南省| 堆龙德庆县| 定陶县| 马尔康县| 嘉荫县| 磐安县| 建宁县| 宜良县| 高雄县| 海淀区| 汽车| 涞源县| 长春市| 寿阳县| 富川| 渝中区| 招远市| 横山县| 商水县| 鄂伦春自治旗| 闵行区| 金沙县| 安国市| 尚志市|