[supabase]supabase.rpc 이용하여 sql query하기

코드왕·2024년 9월 9일
  1. QUERY를 만든다

  1. 테이블 조인을 한다.
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();
  1. nextjs에서 호출한다.
    const { data, error } = await supabase.rpc("merge_tables8", {
      record_count: 5, // LIMIT
      page_offset: 5, // OFFSET
    });
profile
CODE DIVE!

0개의 댓글