簡體   English   中英

SQL Server:使用觸發器實現工作流自動化

[英]SQL Server: Using triggers for workflow automation

在媒體管理系統中,我的任務是創建工作流自動化。 目前,我已經使用 SQL Server 觸發器和使用 ASP.NET 和 JQuery 的 UI 創建了它。

例如:

當一個新文件進入系統時,觸發器工作,它將用該文件的一些數據更新數據庫元數據表。

數以百萬計的資產通過該系統。 有觸發器來執行此過程是否理想。

有沒有更好的方法來創建這種自動化? 有沒有做這種工作的“最佳實踐”?

我遇到了同樣的問題,數據以多種方式進入我的中央資產數據庫(可能因客戶而異)。 所以我也想在數據層創建一個易於定制的工作流(沒有其他依賴項)正如其他人提到的,觸發器可能會影響父活動。 這可以通過將您應該執行的操作寫入隊列表來克服。

示例觸發器。 Hardware.Status = "發出工單"

INSERT INTO Queue (Created, Task, Completed) VALUES (GETUTCDATE(),"EXEC dbo.IssueWorkOrder(123)",0);

將記錄插入您的隊列表將減少其他用戶評論突出顯示的問題。

您構建了一個調度工具(hangfire、sql 任務或其他),它按照添加的數據順序執行隊列中的任務。

現在,當然在實踐中它不是那么簡單。 您必須解決以下問題:

  1. 如果步驟失敗怎么辦2
  2. 前面步驟到 first 的依賴已經完成
  3. 多個操作員更改記錄。 (正在執行的作業步驟與另一個人更新同一記錄之間的部署時間。

我猜#2 和#3 是任何工作流引擎/流水線的問題。 為了解決這個問題,必須建立一個鎖定機制。

暫無
暫無

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

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