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