我目前在执行一项简单任务时遇到问题,在该任务中,现有客户的新工作在他们还清债务之前不会获得批准。我认为这会很简单,直到我发现 SQL-92 断言在 Oracle 中不起作用......
我环顾了网络,发现可以做同样的事情,但有触发器/检查约束。但是,我完全不知道如何实现这一目标。
我的数据库结构如下:
Table invoice is in a one-to-many relationship with jobs
Table jobs is in a many-to-one relationship with client
目前我有:
CREATE TRIGGER check_debt
BEFORE UPDATE ON jobs
FOR EACH ROW
WHEN ((SELECT * FROM client WHERE clientNo =
(SELECT * FROM jobs WHERE jobNo =
(SELECT * FROM invoice WHERE status = 'Debt Owing'))))
COMMIT;
如您所见,我不知道如何用触发器模拟断言......
任何帮助表示赞赏!
谢谢。
注意:我正在练习使用 SQL-92 和 SQL-99 标准。