Initial commit
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
-- Триггер: запрет на запись качественного результата, если есть числовой по тому же обследованию
|
||||
CREATE OR REPLACE FUNCTION check_qualitative_result_uniqueness ()
|
||||
RETURNS TRIGGER
|
||||
AS $$
|
||||
DECLARE
|
||||
numeric_exists boolean;
|
||||
BEGIN
|
||||
SELECT
|
||||
EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
numeric_result
|
||||
WHERE
|
||||
result_id = NEW.result_id) INTO numeric_exists;
|
||||
IF numeric_exists THEN
|
||||
RAISE EXCEPTION
|
||||
USING ERRCODE = 'P0001', MESSAGE = '10006: NUMERIC_RESULT_ALREADY_EXISTS_FOR_THIS_EXAMINATION';
|
||||
END IF;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$
|
||||
LANGUAGE plpgsql;
|
||||
|
||||
CREATE TRIGGER trg_check_qualitative_result_uniqueness
|
||||
BEFORE INSERT OR UPDATE ON qualitative_result
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION check_qualitative_result_uniqueness ();
|
||||
|
||||
Reference in New Issue
Block a user