-แก้ไข search พร้อม fonction ใหม่
This commit is contained in:
33
@knowleadge/dbchange/11252025.txt
Normal file
33
@knowleadge/dbchange/11252025.txt
Normal file
@@ -0,0 +1,33 @@
|
||||
-- FUNCTION: dbo.translatebdg(text)
|
||||
|
||||
-- DROP FUNCTION IF EXISTS dbo.translatebdg(text);
|
||||
|
||||
CREATE OR REPLACE FUNCTION dbo.translatebdg(
|
||||
p_bdgcod text)
|
||||
RETURNS text
|
||||
LANGUAGE 'plpgsql'
|
||||
COST 100
|
||||
VOLATILE PARALLEL UNSAFE
|
||||
AS $BODY$
|
||||
DECLARE
|
||||
resultName TEXT;
|
||||
BEGIN
|
||||
-- ใช้ string_to_array เพื่อแยก text '24,33' เป็น array ['24','33']
|
||||
-- ใช้ ANY เพื่อหาว่า bdgcod อยู่ใน array นั้นไหม
|
||||
-- ใช้ string_agg เพื่อรวมชื่อที่ได้กลับมาเป็น text เดียว คั่นด้วย ', '
|
||||
SELECT string_agg(bdgnam, ', ')
|
||||
INTO resultName
|
||||
FROM dbo.bdgmst
|
||||
WHERE bdgcod = ANY(string_to_array(p_bdgcod, ','));
|
||||
|
||||
-- ถ้าหาไม่เจอเลย ให้คืนค่าเดิมกลับไป (Optional: หรือจะคืน NULL ก็ได้)
|
||||
IF resultName IS NULL THEN
|
||||
RETURN p_bdgcod;
|
||||
END IF;
|
||||
|
||||
RETURN resultName;
|
||||
END;
|
||||
$BODY$;
|
||||
|
||||
ALTER FUNCTION dbo.translatebdg(text)
|
||||
OWNER TO postgres;
|
||||
Reference in New Issue
Block a user