1
我不是一個SQL程序員,但我在我的項目中遇到了一個障礙,必須構造一個觸發器,它將在插入命令後觸發。問題如下:SQL Server 2008 - 複雜的插入觸發器
我有3個表:
dbo. Build
id (PK, int, not null)
date (smalldatetime, not null)
dbo.TestCase
id (PK, int, not null)
Name (nvarchar(200), not null)
dbo.TestCaseExecution
id (PK, int, not null)
build_id (FK, int, not null)
testcase_id (FK, int, not null)
passed (int, null) //1 or 0
executed (int, null) //1 or 0
duration (real, null)
fail_percentage (real, null) //null
現在,我讀了.xml文件數據,並通過C#編寫的項目中的數據添加到數據庫中。每次構建之後,我必須更新數據庫並根據「已通過」和「已執行」值爲每個測試計算fail_percentage。
fail_percentage = (100)*(1 - (PassNumber/ExecutionNumber))
所以我需要一個觸發,這將: 1.消防插入命令 2.計數fail_percentage後立足於以前的值如
after reading from file:
id build_id testcase_id passed executed duration fail_percentage
1 1 001 1 1 12:09 null
after trigger:
id build_id testcase_id passed executed duration fail_percentage
1 1 001 1 1 12:09 0
after reading from file:
id build_id testcase_id passed executed duration fail_percentage
1 1 001 1 1 12:09 0
2 2 001 0 1 12:32 null
after trigger:
id build_id testcase_id passed executed duration fail_percentage
1 1 001 1 1 12:09 0
2 2 001 0 1 12:32 50
有人能幫我一個忙嗎?
由於提前, 阿圖爾
如果你想讓人們幫助你,那麼你應該接受他們給你的答案。它可以幫助那些在網站上搜索的人快速找到他們問題的最佳答案,這是人們在這裏免費回答問題的小小認識。 –
我想我錯過了一些東西。它看起來像你根本不需要觸發器。爲什麼不能只將fail_percentage定義爲計算列? – EBarr
湯姆H.是的,但我沒有拒絕任何...我做錯了什麼? – Artur