Changes between Version 8 and Version 9 of DatabaseProgramming


Ignore:
Timestamp:
06/14/26 15:51:18 (3 days ago)
Author:
231072
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DatabaseProgramming

    v8 v9  
    3939
    4040}}}
     41
     42
     43
     44= Функција fn_validate_product_attribute
     45
     46Валидира парови атрибут:вредност
     47
     48* Проверува дали атрибутот е дефиниран за категоријата во која припаѓа продуктот.
     49* Проверува дали внесената вредност е една од дозволените вредности за атрибутот.
     50
     51{{{
     52CREATE OR REPLACE FUNCTION fn_validate_product_attribute(
     53    p_category_id           INT,
     54    p_category_attribute_id INT,
     55    p_attribute_value       VARCHAR
     56)
     57RETURNS VOID LANGUAGE plpgsql AS $$
     58BEGIN
     59    IF NOT EXISTS (
     60        SELECT 1 FROM categoryattributes
     61        WHERE category_attribute_id = p_category_attribute_id
     62          AND category_id = p_category_id
     63    ) THEN
     64        RAISE EXCEPTION 'Atributot % ne pripagja na kategorijata', p_category_attribute_id;
     65    END IF;
     66
     67    IF NOT EXISTS (
     68        SELECT 1 FROM categoryattributesvalues
     69        WHERE category_attribute_id = p_category_attribute_id
     70          AND allowed_value = p_attribute_value
     71    ) THEN
     72        RAISE EXCEPTION 'Vrednosta % ne pripagja na atributot', p_attribute_value;
     73    END IF;
     74END;
     75$$;
     76}}}
     77
     78
     79