婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > EXEC(EXECUTE)函數訪問INSERTED或DELETED的內部臨時觸發表

EXEC(EXECUTE)函數訪問INSERTED或DELETED的內部臨時觸發表

熱門標簽:山西語音外呼系統價格 北京辦理400電話多少 重慶防封電銷機器人供應商 智能語音外呼系統哪個牌子好 溫州語音外呼系統代理 400電話申請需要開戶費嗎 南京電銷外呼系統運營商 西安青牛防封電銷卡 威海智能語音外呼系統
剛開始時,這個表的字段很少(10個以內),前開發者把這個表的所有存儲過程與觸發器以及表函數全是寫死了。用戶每添加一些字段,都需要手動去更改這些存儲過程與觸發器以及表函數。現在這個表的字段已經高達300個以上,有可能還會增長,因此Insus.NET的業務就是把這此靜態全改寫為動態處理。

然而有一個問題一直困攏至昨天,昨天是星期天本應是休息的,但是這個問題沒有解決,因此這天算不上休息了。

問題就是改寫表的觸發器,涉及到EXEC(EXECUTE)函數訪問INSERTED或DELETED的內部臨時觸發表,如:
復制代碼 代碼如下:

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


當你嘗試執行上面的SQL語句,會得到一個異常提示:invalid object name 'inserted'。我們無法顯示訪問INSERTED或DELETED的內部臨時觸發表。

由于INSERTED或是DELETED表是動態駐留在內存中,而不是存儲在數據庫中,它不是顯式的。觸發器的執行是在導致觸發器被觸發的執行計劃中。當我們使用EXEC(EXECUTE)或sp_executesql執行動態生成的SQL語句時,它卻是另外一個單獨的執行計劃。兩者之間的資源無法相互訪問,再加上計劃執行完畢,內存也隨之釋放資源了。

但是問題還是需要解決,Insus.NET想起的還是臨時表。可以把INSERTED或DELETED表中的數據,首先轉換入臨時表了。這樣子,我們就可以對臨時表的數據進行處理了。

復制代碼 代碼如下:

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



實現代碼:

復制代碼 代碼如下:

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

標簽:濟寧 中衛 貸款群呼 新余 宜春 黃山 河源 金昌

巨人網絡通訊聲明:本文標題《EXEC(EXECUTE)函數訪問INSERTED或DELETED的內部臨時觸發表》,本文關鍵詞  EXEC,EXECUTE,函數,訪問,INSERTED,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《EXEC(EXECUTE)函數訪問INSERTED或DELETED的內部臨時觸發表》相關的同類信息!
  • 本頁收集關于EXEC(EXECUTE)函數訪問INSERTED或DELETED的內部臨時觸發表的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 阿拉尔市| 志丹县| 闽清县| 霍林郭勒市| 庆安县| 乐亭县| 民县| 昭平县| 龙陵县| 邵东县| 伊通| 岐山县| 彩票| 安达市| 墨江| 宜君县| 都昌县| 城市| 钟祥市| 驻马店市| 夏邑县| 华容县| 民勤县| 江西省| 清远市| 蓝田县| 连平县| 富宁县| 合山市| 昔阳县| 三河市| 临洮县| 阳西县| 区。| 巴青县| 连云港市| 普定县| 通州市| 洞口县| 师宗县| 马鞍山市|