2

我没有太多使用 SQL Server 的经验,当涉及到比简单INSERT/SELECT语句更高级的东西时,我几乎迷失了方向。

我的任务是为同一数据库中的其他表创建包含“标准”(规则)的表。我的意思是我们有一个Employee表,一个Salary表等。我需要通过它的值在Employee表和Salary表之间制定一些规则,即如果Employee = John然后Salary = 2000制定1个标准,如果Employee = Steve然后Salary = 3000制定2个标准。

我创建了一个名为Rules

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

我的问题:如上所述是创建“标准”表的正确方法吗?(也许我有 50 种不同的条件......如果我创建具有上述所有条件的表格,这会是正确的方法吗?)请告知。

如果我不能以正确的方式解释或提出基本问题,我很抱歉。

我将不胜感激这方面的任何帮助。提前非常感谢..

4

1 回答 1

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 Employee e ON e.EmployeeId = es.EmployeeId WHERE es.Salary IS NULL AND e.Status = 'Active'

于 2017-03-23T20:29:16.130 回答