Mam tabelę z typem enum
i utworzono funkcję dodawania danych do tej tabeli. Chcę, aby ta funkcja była hojna w tym, co akceptować, więc biorę text
jako typ wyliczeniowy i chcę go później przesłać.Jak przesłać wartość łańcucha do wyliczenia
Jest to enum:
CREATE TYPE public.enum_log_priority AS ENUM (
'critical','error','warning','notice','debug'
);
I to jest funkcja:
CREATE OR REPLACE FUNCTION public.log_write(
_message text,
_priority text
) RETURNS integer AS
$body$
BEGIN
_priority = lower(_priority);
INSERT INTO log (message, priority) VALUES (_message, _priority);
RETURN 0;
END
$body$
LANGUAGE 'plpgsql';
wiem, że to nie działa:
ERROR: column "priority" is of type enum_log_priority but expression is of type text
ale jak mogę to zrobić ?
Proszę określić strukturę enum_log_priority ze wszystkich możliwych wartości –