SQL觸發器插入
回答
要回答這個問題你問
CREATE TRIGGER dbo.tr_i_BaseTable
ON dbo.BaseTable
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO WorkTable
SELECT * FROM INSERTED
END
但不是實際複製的行兩次你能不能用行的一些其他屬性來檢測應考慮工作臺的一部分,「新」的。如ID或添加「插入」日期/時間字段。
或另一種作法可能是剛與新工作臺重新開始,並考慮要歸檔所有以前的記錄。您可以創建(可能是分區)視圖UNION ALL
- 這兩個表適用於需要在合併集上工作的那些查詢。
我瞭解您與您的評論的到來。 數據庫表是一個正確的混亂和運行速度很慢,因此我想保持「工作隊列」數據分離。 感謝您的代碼,您已經完成了我的設想。 再次感謝 Sp 非常感謝 – Steven 2010-06-22 13:39:18
有了這個觸發器:
CREATE TRIGGER InsertIntoWorkingTable
ON VeryOldHugeDatabaseTable
INSTEAD OF INSERT
AS
insert into WorkingTable (column1, column2, column3...) (
select column1, column2, column3
from inserted
)
所有你需要做的就是保持插入到你的VeryOldHugeDatabaseTable。觸發器會忙於插入此工作表。
一旦一段時間,你可以簡單地通過一個工作什麼的都插入或存檔推出一個存儲過程到這個舊錶從工作表。
我從他的「工作隊列」的評論得到的印象是,他是在插入主表和放置FK在一個單獨的表作爲某種行動項目連接到該行。 – Kendrick 2010-06-22 13:10:46
我們有一個v數據庫表,最初建在訪問(它的噩夢),它目前只有80列寬,有1.5米行。它仍然被用於使用複雜的存儲過程爲下一個客戶提供服務,正如您可以想象的那樣,這個過程非常緩慢。我試着給所有新行傳輸到另一臺(7列,將只具有100-200行),一旦他們被虐待的工作將它們歸檔,這樣前端的用戶將看到的速度大幅增加.. 詩前端應用程序仍然是和訪問數據庫 – Steven 2010-06-22 13:15:17
我現在看到了需要! =) – 2010-06-22 13:30:39
- 1. T-SQL插入觸發器
- 2. SQL觸發器,從插入
- 3. SQL Server:插入觸發器
- 4. 插入sql觸發器
- 5. SQL插入觸發器
- 6. SQL - 觸發器插入件
- 7. sql server觸發器插入
- 8. SQL服務器插入觸發器
- 9. SQL服務器觸發插入
- 10. Oracle SQL觸發器插入/更新---
- 11. 插入更新觸發器後PL/SQL
- 12. 之後SQL Server插入觸發器
- 13. 在pl/sql中插入觸發器
- 14. 插入SQL Server 2000觸發器
- 15. sql觸發器更新並插入
- 16. 在sql server中插入觸發器後
- 17. 插入問題後的SQl觸發器
- 18. 插入比較的SQL觸發器
- 19. SQL Server觸發器無法插入
- 20. 批量插入後的SQL觸發器
- 21. SQL Server的觸發器,插入串
- 22. T-SQL觸發器插入更新
- 23. 插入後的SQL Server觸發器
- 24. SQL觸發器和插入的代碼
- 25. SQL觸發器插入到表
- 26. PL/SQL觸發器,以防止插入
- 27. SQL觸發器,插入語句
- 28. PL SQL觸發器插入值
- 29. 插入更新後的SQL觸發器
- 30. Oracle SQL觸發器插入/更新
您使用的是什麼RDBMS和版本?觸發器語法各不相同。只要跟蹤最近處理的ID或以任何方式爲此添加日期時間列,您可能會更好? – 2010-06-22 13:15:37
抱歉它是一個SQL Server 2000數據庫 – Steven 2010-06-22 13:18:36