- QUERY를 만든다

- 테이블 조인을 한다.
CREATE OR REPLACE FUNCTION merge_tables8(
record_count INT, -- 몇 개의 레코드를 가져올지
page_offset INT -- 페이지 오프셋
)
RETURNS TABLE (
id BIGINT,
title TEXT,
"regiDate" TIMESTAMPTZ,
"category1" TEXT,
"category2" TEXT
) AS $$
BEGIN
RETURN QUERY
SELECT n.id, n.title, n."regiDate", n."category1", n."category2"
FROM notification n
UNION ALL
SELECT b.id, b.title, b."regiDate", b."category1", b."category2"
FROM boast b
ORDER BY "regiDate" DESC
LIMIT record_count -- 가져올 레코드 수
OFFSET page_offset; -- 페이지 오프셋
END;
$$ LANGUAGE plpgsql;
만약 에러가 난다면 기존꺼 지워라
DROP FUNCTION IF EXISTS merge_tables8();
- nextjs에서 호출한다.
const { data, error } = await supabase.rpc("merge_tables8", {
record_count: 5, // LIMIT
page_offset: 5, // OFFSET
});