Tôi có một bảng có loại enum
trong đó và tôi đã tạo một hàm để thêm dữ liệu vào bảng đó. Tôi muốn chức năng đó được hào phóng trong những gì để chấp nhận, vì vậy tôi lấy text
làm loại enum và muốn truyền nó sau.Cách để gán giá trị chuỗi vào enum
Đây là enum:
CREATE TYPE public.enum_log_priority AS ENUM (
'critical','error','warning','notice','debug'
);
Và đây là các chức năng:
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';
Tôi biết điều này không làm việc:
ERROR: column "priority" is of type enum_log_priority but expression is of type text
nhưng làm thế nào tôi có thể làm điều này ?
Hãy xác định cấu trúc của enum_log_priority với tất cả các giá trị có thể –