2012-12-04 28 views
1

我對SQL Server沒有太多的經驗,當涉及到比簡單的INSERT/SELECT語句更高級的任何東西時,我幾乎都失去了它。如何在SQL Server 2008中使用條件設計/創建規則表

我的任務是創建一個表,它爲同一個數據庫中的其他表保存「標準」(規則)。我的意思是我們有一個Employee表,Salary表等。我需要通過自己的價值觀,即做Employee表和Salary表之間的一些規則,如果Employee = JohnSalary = 2000然後進行1個標準,如果Employee = SteveSalary = 3000然後進行2個標準。

我創建了一個名爲Rules表:

RuleID Criteria 
--------------------------------------------------  
1   Employee = John and Salary = 2000 
2   Employee = Steve and Salary = 3000** 

我的問題:如上所述是創建「標準」表正確方法是什麼? (也許我有50個不同的條件......這是否正確的方式如果我創建了所有條件如上所述的表?)請指教。

對不起,如果我不能正確解釋或提出基本問題。

我將不勝感激任何幫助。提前致謝..

+0

的關鍵設計任何一組表格就是了解它們將如何使用。如何使用這些規則?他們是否使用SQL語句?只是向用戶展示?用另一種語言編碼? –

+0

感謝您的回覆@GordonLinoff ... – Joy1979

+0

@GordonLinoff這些適用於SQL語句,稍後將在VB.Net中使用。當表單填充(運行時間)標準應該在用戶選擇任何選擇時執行(即,如果用戶選擇Employee name = john並且選擇Salary = 2000,則由其自身規則ID 1執行)。道歉如果我無法說清楚。 – Joy1979

回答

0

我們已經創建了一個有效的規則引擎,通知適當的用戶一個給定的規則。我們列如下:RuleID,RuleName中,SequenceNum,IsActiveFlag,RuleRunDays,DataSteward,CarbonCopyRecipients,NotificationLevel,RuleSQL,NotificationSubject,NotificationText,HTMLFlag

的關鍵是有一個列,它是一個有效的可執行的SQL語句(如RuleSQL以上)。以下是您可能在RuleSQL列中輸入的值的示例:

SELECT ErrorMessage ='對於激活的員工,薪水不能爲空。 ,e.EmployeeName,es.Salary,... FROM EmployeeSalary ES JOIN職工Ë ON e.EmployeeId = es.EmployeeId WHERE es.Salary IS NULL和e.Status = '主動'

相關問題