2382 lines
87 KiB
PL/PgSQL
2382 lines
87 KiB
PL/PgSQL
--
|
|
-- PostgreSQL database dump
|
|
--
|
|
|
|
\restrict osPaC8Gqjay0KBMwX4hwgDvmjwF5rTGmBMzQBdxAne3SBCLMuCNQu2Xg15dPVeb
|
|
|
|
-- Dumped from database version 18.1
|
|
-- Dumped by pg_dump version 18.0
|
|
|
|
-- Started on 2026-02-02 14:06:03
|
|
|
|
SET statement_timeout = 0;
|
|
SET lock_timeout = 0;
|
|
SET idle_in_transaction_session_timeout = 0;
|
|
SET client_encoding = 'UTF8';
|
|
SET standard_conforming_strings = on;
|
|
SELECT pg_catalog.set_config('search_path', '', false);
|
|
SET check_function_bodies = false;
|
|
SET xmloption = content;
|
|
SET client_min_messages = warning;
|
|
SET row_security = off;
|
|
|
|
--
|
|
-- TOC entry 6 (class 2615 OID 16413)
|
|
-- Name: kngil; Type: SCHEMA; Schema: -; Owner: postgres
|
|
--
|
|
|
|
CREATE SCHEMA kngil;
|
|
|
|
|
|
ALTER SCHEMA kngil OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 262 (class 1255 OID 16574)
|
|
-- Name: fn_base_cd(character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.fn_base_cd(p_main_cd character varying) RETURNS TABLE(id character varying, text character varying)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
RETURN QUERY
|
|
SELECT
|
|
-- CASE 문을 사용하여 조건에 따라 반환할 컬럼을 선택합니다.
|
|
(CASE
|
|
WHEN b.use_bc = 'BS200100' THEN a.base_cd::VARCHAR
|
|
WHEN b.use_bc = 'BS200200' THEN a.sub_cd::VARCHAR
|
|
END) AS id, -- 코드1이면 기초코드 아니면 서브코드 표시.
|
|
a.sub_nm::VARCHAR AS text -- 코드명
|
|
FROM kngil.code_detail a --공통코드 상세
|
|
JOIN kngil.code_master b ON a.main_cd = b.main_cd --공통코드 마스터
|
|
WHERE a.main_cd = p_main_cd
|
|
AND a.use_yn = 'Y' -- 사용여부
|
|
ORDER BY
|
|
(CASE WHEN b.sort_bc = 'BS110100' THEN a.sub_nm END) ASC,
|
|
(CASE WHEN b.sort_bc = 'BS110200' THEN a.sort_sq END) ASC;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.fn_base_cd(p_main_cd character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 251 (class 1255 OID 16571)
|
|
-- Name: fn_base_nm(character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.fn_base_nm(p_base_cd character varying) RETURNS TABLE(name character varying)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
RETURN QUERY
|
|
SELECT
|
|
a.sub_nm::VARCHAR AS name -- 코드명
|
|
FROM kngil.code_detail a --공통코드 상세
|
|
JOIN kngil.code_master b ON a.main_cd = b.main_cd --공통코드 마스터
|
|
WHERE a.base_cd = p_base_cd;
|
|
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.fn_base_nm(p_base_cd character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 276 (class 1255 OID 16703)
|
|
-- Name: fn_update_buy_area(); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.fn_update_buy_area() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
DECLARE
|
|
v_member_id character varying;
|
|
BEGIN
|
|
-- 1. 이벤트 종류(INSERT, UPDATE, DELETE)에 따라 member_id 추출
|
|
IF (TG_OP = 'DELETE') THEN
|
|
v_member_id := OLD.member_id;
|
|
ELSE
|
|
v_member_id := NEW.member_id;
|
|
END IF;
|
|
|
|
-- 2. 해당 회원의 당해 연도(end_dt 기준) 합계 적용면적 업데이트
|
|
-- ok_yn = 'Y'인 데이터만 합산
|
|
UPDATE kngil.members
|
|
SET buy_area = (
|
|
SELECT COALESCE(SUM(sum_area), 0)
|
|
FROM kngil.buy_item
|
|
WHERE member_id = v_member_id
|
|
AND ok_yn = 'Y'
|
|
AND EXTRACT(YEAR FROM end_dt) = EXTRACT(YEAR FROM CURRENT_DATE)
|
|
)
|
|
WHERE member_id = v_member_id;
|
|
|
|
-- UPDATE 이벤트에서 member_id가 변경된 경우, 이전 member_id의 데이터도 갱신 필요
|
|
IF (TG_OP = 'UPDATE' AND OLD.member_id <> NEW.member_id) THEN
|
|
UPDATE kngil.members
|
|
SET buy_area = (
|
|
SELECT COALESCE(SUM(sum_area), 0)
|
|
FROM kngil.buy_item
|
|
WHERE member_id = OLD.member_id
|
|
AND ok_yn = 'Y'
|
|
AND EXTRACT(YEAR FROM end_dt) = EXTRACT(YEAR FROM CURRENT_DATE)
|
|
)
|
|
WHERE member_id = OLD.member_id;
|
|
END IF;
|
|
|
|
RETURN NULL; -- AFTER 트리거이므로 결과 반환은 필요 없음
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.fn_update_buy_area() OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 250 (class 1255 OID 16541)
|
|
-- Name: fn_user_auth(); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.fn_user_auth() RETURNS TABLE(code character varying, name character varying)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
RETURN QUERY
|
|
SELECT
|
|
-- 마스터의 use_bc 설정에 따라 base_cd 또는 sub_cd 반환
|
|
(CASE
|
|
WHEN b.use_bc = 'BS200100' THEN a.base_cd::VARCHAR
|
|
WHEN b.use_bc = 'BS200200' THEN a.sub_cd::VARCHAR
|
|
END) AS code,
|
|
a.sub_nm::VARCHAR AS name
|
|
FROM kngil.code_detail a
|
|
JOIN kngil.code_master b ON a.main_cd = b.main_cd
|
|
WHERE a.main_cd = 'BS100' -- 권한관리코드 고정
|
|
AND a.use_yn = 'Y' -- 사용여부 'Y'
|
|
AND a.m1 = '1' -- 특정 필터 조건
|
|
ORDER BY
|
|
(CASE WHEN b.sort_bc = 'BS110100' THEN a.sub_nm END) ASC,
|
|
(CASE WHEN b.sort_bc = 'BS110200' THEN a.sort_sq END) ASC;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.fn_user_auth() OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 255 (class 1255 OID 16583)
|
|
-- Name: fn_user_id_check(character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.fn_user_id_check(p_user_id character varying) RETURNS character varying
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
DECLARE
|
|
v_user_exists INTEGER;
|
|
/*
|
|
유저 중복 체크 함수 회원가입 시 중복체크
|
|
*/
|
|
BEGIN
|
|
-- [1] 중복 아이디 체크 (대소문자 무시)
|
|
SELECT COUNT(*) INTO v_user_exists
|
|
FROM kngil.users
|
|
WHERE LOWER(user_id) = LOWER(p_user_id); -- 양쪽 모두 소문자로 변환하여 비교
|
|
|
|
IF v_user_exists > 0 THEN
|
|
RETURN 'ERROR: 이미 존재하는 아이디입니다.';
|
|
ELSE
|
|
RETURN 'SUCCESS: 사용 가능한 아이디입니다.';
|
|
END IF;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.fn_user_id_check(p_user_id character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 257 (class 1255 OID 16550)
|
|
-- Name: sp_buy_item_d(character varying, integer); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_buy_item_d(p_member_id character varying, p_sq_no integer) RETURNS text
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
DECLARE
|
|
/*
|
|
설 명 : buy_item 테이블 삭제 프로시져
|
|
작성자 : 권오재
|
|
작성일 : 2026-01-14
|
|
비 고 : 최초작성
|
|
*/
|
|
v_ok_yn CHAR(1);
|
|
BEGIN
|
|
-- 1. 해당 구매 건의 승인 여부 확인
|
|
SELECT ok_yn INTO v_ok_yn
|
|
FROM kngil.buy_item
|
|
WHERE member_id = p_member_id AND sq_no = p_sq_no;
|
|
|
|
IF NOT FOUND THEN
|
|
RETURN 'ERROR: 삭제할 구매 정보를 찾을 수 없습니다.';
|
|
END IF;
|
|
|
|
-- 2. 승인여부(ok_yn)가 'Y'이면 삭제 불가
|
|
IF v_ok_yn = 'Y' THEN
|
|
RETURN 'ERROR: 승인 완료(Y)된 구매 내역은 삭제할 수 없습니다.';
|
|
END IF;
|
|
|
|
-- 3. 삭제 실행
|
|
DELETE FROM kngil.buy_item
|
|
WHERE member_id = p_member_id AND sq_no = p_sq_no;
|
|
|
|
RETURN 'SUCCESS';
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 'ERROR: ' || SQLERRM;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_buy_item_d(p_member_id character varying, p_sq_no integer) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 273 (class 1255 OID 16563)
|
|
-- Name: sp_buy_item_history_r(character varying, character varying, date, date); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_buy_item_history_r(p_member_id character varying DEFAULT ''::character varying, p_member_nm character varying DEFAULT NULL::character varying, p_fbuy_dt date DEFAULT NULL::date, p_tbuy_dt date DEFAULT NULL::date) RETURNS TABLE(member_id character varying, sq_no integer, user_nm character varying, co_nm character varying, bs_no character varying, buy_dt date, itm_cd character varying, itm_nm character varying, area numeric, itm_qty numeric, itm_area numeric, add_area numeric, sum_area numeric, itm_amt numeric, dis_rt numeric, buy_amt numeric, vat_amt numeric, sum_amt numeric, end_dt date, ok_yn character, rmks character varying)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
/*
|
|
설 명 : 상품등록화면에서 buy_item 테이블 내용 조회 member_id , buy_dt 변수 필수
|
|
작성자 : 권오재
|
|
작성일 : 2026-01-14
|
|
비 고 : 최초작성
|
|
*/
|
|
BEGIN
|
|
RETURN QUERY
|
|
SELECT
|
|
a.member_id, -- 회원ID
|
|
a.sq_no, -- 순번
|
|
b.member_nm::character varying as user_nm, -- 구매자
|
|
b.co_nm, -- 회사명
|
|
b.bs_no, -- 사업자번호
|
|
a.buy_dt, -- 구매일자
|
|
a.itm_cd::character varying, -- 상품코드
|
|
c.itm_nm::character varying as itm_nm, -- 상품명
|
|
c.area::NUMERIC as area, -- 상품면적
|
|
a.itm_qty::NUMERIC, -- 수량
|
|
a.itm_area::NUMERIC, -- 면적
|
|
a.add_area::NUMERIC, -- 추가면적
|
|
a.sum_area::NUMERIC, -- 합계면적
|
|
a.itm_amt::NUMERIC, -- 단가
|
|
a.dis_rt::NUMERIC, -- 할인율
|
|
a.buy_amt::NUMERIC, -- 공급금액
|
|
a.vat_amt::NUMERIC, -- 부가세
|
|
a.sum_amt::NUMERIC, -- 합계금액
|
|
a.end_dt, -- 만료일
|
|
a.ok_yn, -- 승인여부
|
|
a.rmks -- 비고
|
|
FROM kngil.buy_item a -- 구매정보
|
|
left join kngil.members b on a.member_id = b.member_id -- 회원정보
|
|
left join kngil.item c on a.itm_cd = c.itm_cd -- 상품정보
|
|
WHERE 1=1
|
|
-- 회원ID 검색
|
|
AND (a.member_id = p_member_id OR p_member_id = '')
|
|
-- 구매일자 기간 검색
|
|
AND (a.buy_dt >= p_fbuy_dt OR p_fbuy_dt IS NULL)
|
|
AND (a.buy_dt <= p_tbuy_dt OR p_tbuy_dt IS NULL)
|
|
AND (
|
|
p_member_nm IS NULL
|
|
OR p_member_nm = ''
|
|
OR b.co_nm ILIKE '%' || p_member_nm || '%'
|
|
OR b.member_nm ILIKE '%' || p_member_nm || '%'
|
|
)
|
|
ORDER BY a.member_id,a.sq_no DESC;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_buy_item_history_r(p_member_id character varying, p_member_nm character varying, p_fbuy_dt date, p_tbuy_dt date) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 275 (class 1255 OID 16575)
|
|
-- Name: sp_buy_item_i(character varying, date, character, numeric, numeric, numeric, numeric, numeric, numeric, numeric, numeric, numeric, date, character, character varying, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_buy_item_i(p_member_id character varying, p_buy_dt date, p_itm_cd character, p_itm_qty numeric, p_itm_area numeric, p_add_area numeric, p_sum_area numeric, p_itm_amt numeric, p_dis_rt numeric, p_buy_amt numeric, p_vat_amt numeric, p_sum_amt numeric, p_end_dt date, p_ok_yn character, p_rmks character varying, p_cid character varying) RETURNS text
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
DECLARE
|
|
/*
|
|
설 명 : 서비스 구매정보 isnert 프로시져 sq_no 계산하여 적용.
|
|
작성자 : 권오재
|
|
작성일 : 2026-01-14
|
|
비 고 : 최초작성
|
|
p_itm_cd character, -- 상품코드
|
|
p_itm_qty numeric, -- 수량
|
|
p_itm_area numeric, -- 적용면적
|
|
p_add_area numeric, -- 추가면적
|
|
p_sum_area numeric, -- 합계면적
|
|
p_itm_amt numeric, -- 상품단가
|
|
p_dis_rt numeric, -- 할인율
|
|
p_buy_amt numeric, -- 공금금액
|
|
p_vat_amt numeric, -- 부가세
|
|
p_sum_amt numeric, -- 합계금액
|
|
p_end_dt date, -- 만료일자
|
|
p_ok_yn character, -- 승인여부
|
|
p_rmks character varying,-- 비고
|
|
*/
|
|
v_next_sq_no INTEGER;
|
|
BEGIN
|
|
-- 해당 회원의 다음 순번(sq_no) 계산
|
|
SELECT COALESCE(MAX(sq_no), 0) + 1 INTO v_next_sq_no
|
|
FROM kngil.buy_item
|
|
WHERE member_id = p_member_id;
|
|
|
|
-- 데이터 삽입
|
|
INSERT INTO kngil.buy_item (
|
|
member_id, sq_no, buy_dt, itm_cd, itm_qty, itm_area,
|
|
add_area, sum_area, itm_amt, dis_rt, buy_amt,
|
|
vat_amt, sum_amt, end_dt, ok_yn, rmks,
|
|
cid, cdt, mid, mdt
|
|
) VALUES (
|
|
p_member_id, v_next_sq_no, p_buy_dt, p_itm_cd, p_itm_qty, p_itm_area,
|
|
p_add_area, p_sum_area, p_itm_amt, p_dis_rt, p_buy_amt,
|
|
p_vat_amt, p_sum_amt, p_end_dt, p_ok_yn, p_rmks,
|
|
p_cid, CURRENT_TIMESTAMP, p_cid, CURRENT_TIMESTAMP
|
|
);
|
|
|
|
RETURN 'SUCCESS';
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 'ERROR: ' || SQLERRM;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_buy_item_i(p_member_id character varying, p_buy_dt date, p_itm_cd character, p_itm_qty numeric, p_itm_area numeric, p_add_area numeric, p_sum_area numeric, p_itm_amt numeric, p_dis_rt numeric, p_buy_amt numeric, p_vat_amt numeric, p_sum_amt numeric, p_end_dt date, p_ok_yn character, p_rmks character varying, p_cid character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 274 (class 1255 OID 16702)
|
|
-- Name: sp_buy_item_r(character varying, date); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_buy_item_r(p_member_id character varying DEFAULT ''::character varying, p_buy_dt date DEFAULT NULL::date) RETURNS TABLE(member_id character varying, sq_no integer, buy_dt date, itm_cd character, itm_nm character varying, itm_qty numeric, itm_area numeric, add_area numeric, sum_area numeric, itm_amt numeric, dis_rt numeric, buy_amt numeric, vat_amt numeric, sum_amt numeric, end_dt date, ok_yn character, rmks character varying)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
/*
|
|
설 명 : 상품등록화면에서 buy_item 테이블 내용 조회 member_id , buy_dt 변수 필수
|
|
작성자 : 권오재
|
|
작성일 : 2026-01-14
|
|
비 고 : 최초작성
|
|
*/
|
|
BEGIN
|
|
RETURN QUERY
|
|
SELECT
|
|
a.member_id, -- 회원ID
|
|
a.sq_no, -- 순번
|
|
a.buy_dt, -- 구매일자
|
|
a.itm_cd, -- 상품코드
|
|
b.itm_nm::character varying, -- 상품명
|
|
a.itm_qty::NUMERIC, -- 수량
|
|
a.itm_area::NUMERIC, -- 면적
|
|
a.add_area::NUMERIC, -- 추가면적
|
|
a.sum_area::NUMERIC, -- 합계면적
|
|
a.itm_amt::NUMERIC, -- 단가
|
|
a.dis_rt::NUMERIC, -- 할인율
|
|
a.buy_amt::NUMERIC, -- 공급금액
|
|
a.vat_amt::NUMERIC, -- 부가세
|
|
a.sum_amt::NUMERIC, -- 합계금액
|
|
a.end_dt, -- 만료일
|
|
a.ok_yn, -- 승인여부
|
|
a.rmks -- 비고
|
|
FROM kngil.buy_item a
|
|
left join kngil.item b on a.itm_cd = b.itm_cd -- 상품코드
|
|
WHERE 1=1
|
|
-- 회원ID 검색 (회원ID 필수)
|
|
AND a.member_id = p_member_id
|
|
-- 구매일자 검색(필수)
|
|
AND a.buy_dt = p_buy_dt
|
|
ORDER BY a.sq_no DESC;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_buy_item_r(p_member_id character varying, p_buy_dt date) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 256 (class 1255 OID 16549)
|
|
-- Name: sp_buy_item_u(character varying, integer, date, character, numeric, numeric, numeric, numeric, numeric, numeric, numeric, numeric, numeric, date, character, character varying, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_buy_item_u(p_member_id character varying, p_sq_no integer, p_buy_dt date, p_itm_cd character, p_itm_qty numeric, p_itm_area numeric, p_add_area numeric, p_sum_area numeric, p_itm_amt numeric, p_dis_rt numeric, p_buy_amt numeric, p_vat_amt numeric, p_sum_amt numeric, p_end_dt date, p_ok_yn character, p_rmks character varying, p_mid character varying) RETURNS text
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
|
|
BEGIN
|
|
UPDATE kngil.buy_item
|
|
SET
|
|
buy_dt = p_buy_dt, -- 구매일자
|
|
itm_cd = p_itm_cd, -- 상품코드
|
|
itm_qty = p_itm_qty, -- 수량
|
|
itm_area = p_itm_area, -- 기본면적
|
|
add_area = p_add_area, -- 추가면적
|
|
sum_area = p_sum_area, -- 합계면적
|
|
itm_amt = p_itm_amt, -- 단가
|
|
dis_rt = p_dis_rt, -- 할인율
|
|
buy_amt = p_buy_amt, -- 공급금액
|
|
vat_amt = p_vat_amt, -- 부가세
|
|
sum_amt = p_sum_amt, -- 구매금액
|
|
end_dt = p_end_dt, -- 만료일자
|
|
ok_yn = p_ok_yn, -- 확정 [Y업데이트 시 members 테이블의 구매면적에 합산 N 업데이트시 차감 트리거 적용]
|
|
rmks = p_rmks, -- 비고
|
|
mid = p_mid, -- 수정자 ID 반영
|
|
mdt = CURRENT_TIMESTAMP -- 수정일시 자동 기록
|
|
WHERE member_id = p_member_id
|
|
AND sq_no = p_sq_no;
|
|
|
|
IF NOT FOUND THEN
|
|
RETURN 'ERROR: 수정할 구매 정보를 찾을 수 없습니다.';
|
|
END IF;
|
|
|
|
RETURN 'SUCCESS';
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 'ERROR: ' || SQLERRM;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_buy_item_u(p_member_id character varying, p_sq_no integer, p_buy_dt date, p_itm_cd character, p_itm_qty numeric, p_itm_area numeric, p_add_area numeric, p_sum_area numeric, p_itm_amt numeric, p_dis_rt numeric, p_buy_amt numeric, p_vat_amt numeric, p_sum_amt numeric, p_end_dt date, p_ok_yn character, p_rmks character varying, p_mid character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 238 (class 1255 OID 16685)
|
|
-- Name: sp_fa_comments_d(integer); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_fa_comments_d(p_id integer) RETURNS boolean
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
-- fa_id를 조건으로 데이터를 삭제합니다.
|
|
DELETE FROM kngil.fa_comments
|
|
WHERE fa_id = p_id;
|
|
|
|
-- 삭제된 행이 있으면 true, 없으면 false를 반환합니다.
|
|
RETURN FOUND;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_fa_comments_d(p_id integer) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 271 (class 1255 OID 16684)
|
|
-- Name: sp_fa_comments_i(text, text, integer, character, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_fa_comments_i(p_subject text, p_content text, p_sq_no integer, p_use_yn character, p_cid character varying) RETURNS integer
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
DECLARE
|
|
v_new_id integer;
|
|
BEGIN
|
|
-- fa_id는 GENERATED ALWAYS이므로 INSERT 문에서 제외하여 DB가 자동 생성하게 함
|
|
INSERT INTO kngil.fa_comments (
|
|
fa_subject,
|
|
fa_content,
|
|
sq_no,
|
|
use_yn,
|
|
cid,
|
|
cdt
|
|
) VALUES (
|
|
p_subject,
|
|
p_content,
|
|
p_sq_no,
|
|
p_use_yn,
|
|
p_cid,
|
|
CURRENT_TIMESTAMP
|
|
)
|
|
RETURNING fa_id INTO v_new_id;
|
|
|
|
RETURN v_new_id;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_fa_comments_i(p_subject text, p_content text, p_sq_no integer, p_use_yn character, p_cid character varying) OWNER TO postgres;
|
|
|
|
SET default_tablespace = '';
|
|
|
|
SET default_table_access_method = heap;
|
|
|
|
--
|
|
-- TOC entry 235 (class 1259 OID 16671)
|
|
-- Name: fa_comments; Type: TABLE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE kngil.fa_comments (
|
|
fa_id integer NOT NULL,
|
|
fa_subject text,
|
|
fa_content text,
|
|
sq_no integer,
|
|
use_yn character(1),
|
|
cid character varying(20),
|
|
cdt timestamp with time zone,
|
|
mid character varying(20),
|
|
mdt timestamp with time zone
|
|
);
|
|
|
|
|
|
ALTER TABLE kngil.fa_comments OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 268 (class 1255 OID 16686)
|
|
-- Name: sp_fa_comments_r(); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_fa_comments_r() RETURNS SETOF kngil.fa_comments
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
-- 사용 여부(use_yn)가 'Y'인 데이터를 순번(sq_no) 오름차순으로 조회합니다.
|
|
RETURN QUERY
|
|
SELECT * FROM kngil.fa_comments
|
|
WHERE use_yn = 'Y'
|
|
ORDER BY sq_no ASC, fa_id DESC;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_fa_comments_r() OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 272 (class 1255 OID 16683)
|
|
-- Name: sp_fa_comments_u(integer, text, text, integer, character, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_fa_comments_u(p_id integer, p_subject text, p_content text, p_sq_no integer, p_use_yn character, p_mid character varying) RETURNS boolean
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
-- 고유 ID(fa_id)를 조건으로 데이터를 업데이트합니다.
|
|
UPDATE kngil.fa_comments
|
|
SET
|
|
fa_subject = p_subject,
|
|
fa_content = p_content,
|
|
sq_no = p_sq_no,
|
|
use_yn = p_use_yn,
|
|
mid = p_mid,
|
|
mdt = CURRENT_TIMESTAMP
|
|
WHERE
|
|
fa_id = p_id;
|
|
|
|
-- 업데이트된 행이 있는지 확인하여 반환합니다.
|
|
RETURN FOUND;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_fa_comments_u(p_id integer, p_subject text, p_content text, p_sq_no integer, p_use_yn character, p_mid character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 261 (class 1255 OID 16568)
|
|
-- Name: sp_item_d(character); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_item_d(p_itm_cd character) RETURNS text
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
DECLARE
|
|
v_buy_count INTEGER;
|
|
BEGIN
|
|
-- 1. 무결성 체크: 이 상품을 구매한 내역(buy_item)이 있는지 확인
|
|
SELECT COUNT(*) INTO v_buy_count
|
|
FROM kngil.buy_item
|
|
WHERE itm_cd = p_itm_cd;
|
|
|
|
IF v_buy_count > 0 THEN
|
|
RETURN 'ERROR: 구매 내역이 존재하는 상품은 삭제할 수 없습니다. (사용여부를 N으로 변경하세요)';
|
|
END IF;
|
|
|
|
-- 2. 상품 존재 여부 확인
|
|
IF NOT EXISTS (SELECT 1 FROM kngil.item WHERE itm_cd = p_itm_cd) THEN
|
|
RETURN 'ERROR: 삭제할 상품 정보를 찾을 수 없습니다.';
|
|
END IF;
|
|
|
|
-- 3. 삭제 실행
|
|
DELETE FROM kngil.item
|
|
WHERE itm_cd = p_itm_cd;
|
|
|
|
RETURN 'SUCCESS';
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
-- 오류 발생 시 자동 롤백됩니다.
|
|
RETURN 'ERROR: ' || SQLERRM;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_item_d(p_itm_cd character) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 263 (class 1255 OID 16576)
|
|
-- Name: sp_item_i(character, character varying, numeric, numeric, character, character varying, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_item_i(p_itm_cd character, p_itm_nm character varying, p_area numeric, p_itm_amt numeric, p_use_yn character, p_rmks character varying, p_cid character varying) RETURNS text
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
DECLARE
|
|
v_count INTEGER;
|
|
BEGIN
|
|
-- 1. 상품코드(itm_cd) 중복 체크
|
|
SELECT COUNT(*) INTO v_count FROM kngil.item WHERE itm_cd = p_itm_cd;
|
|
|
|
IF v_count > 0 THEN
|
|
RETURN 'ERROR: 이미 존재하는 상품코드입니다.';
|
|
END IF;
|
|
|
|
-- 2. 데이터 삽입
|
|
INSERT INTO kngil.item (
|
|
itm_cd, itm_nm, area, itm_amt,
|
|
use_yn, rmks,
|
|
cid, cdt, mid, mdt
|
|
) VALUES (
|
|
p_itm_cd, p_itm_nm, p_area, p_itm_amt,
|
|
p_use_yn, p_rmks,
|
|
p_cid, CURRENT_TIMESTAMP, p_cid, CURRENT_TIMESTAMP
|
|
);
|
|
|
|
RETURN 'SUCCESS';
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
-- 트랜잭션 원자성에 의해 오류 발생 시 자동 롤백됩니다.
|
|
RETURN 'ERROR: ' || SQLERRM;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_item_i(p_itm_cd character, p_itm_nm character varying, p_area numeric, p_itm_amt numeric, p_use_yn character, p_rmks character varying, p_cid character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 252 (class 1255 OID 16572)
|
|
-- Name: sp_item_r(); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_item_r() RETURNS TABLE(itm_cd character varying, itm_nm character varying, area numeric, itm_amt numeric, use_yn character varying, rmks character varying, cid character varying, cdt timestamp without time zone, mid character varying, mdt timestamp without time zone)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
RETURN QUERY
|
|
SELECT
|
|
a.itm_cd::VARCHAR, -- bpchar 에러 방지를 위한 명시적 변환
|
|
a.itm_nm::VARCHAR,
|
|
a.area::NUMERIC, -- DECIMAL을 NUMERIC으로 맞춤
|
|
a.itm_amt::NUMERIC,
|
|
a.use_yn::VARCHAR,
|
|
a.rmks::VARCHAR,
|
|
a.cid::VARCHAR,
|
|
a.cdt,
|
|
a.mid::VARCHAR,
|
|
a.mdt
|
|
FROM kngil.item a
|
|
ORDER BY a.itm_cd ASC;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_item_r() OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 260 (class 1255 OID 16567)
|
|
-- Name: sp_item_u(character, character varying, numeric, numeric, character, character varying, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_item_u(p_itm_cd character, p_itm_nm character varying, p_area numeric, p_itm_amt numeric, p_use_yn character, p_rmks character varying, p_mid character varying) RETURNS text
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
-- 1. 데이터 업데이트 수행
|
|
UPDATE kngil.item
|
|
SET
|
|
itm_nm = p_itm_nm, -- 상품명
|
|
area = p_area, -- 면적
|
|
itm_amt = p_itm_amt, -- 상품금액
|
|
use_yn = p_use_yn, -- 사용여부
|
|
rmks = p_rmks, -- 비고
|
|
mid = p_mid, -- 수정자 기록
|
|
mdt = CURRENT_TIMESTAMP -- 수정일시 기록
|
|
WHERE itm_cd = p_itm_cd;
|
|
|
|
-- 2. 업데이트된 행이 있는지 확인
|
|
IF NOT FOUND THEN
|
|
RETURN 'ERROR: 수정할 상품코드를 찾을 수 없습니다.';
|
|
END IF;
|
|
|
|
RETURN 'SUCCESS';
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 'ERROR: ' || SQLERRM;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_item_u(p_itm_cd character, p_itm_nm character varying, p_area numeric, p_itm_amt numeric, p_use_yn character, p_rmks character varying, p_mid character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 266 (class 1255 OID 16580)
|
|
-- Name: sp_member_i(character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_member_i(p_co_bc character varying, p_member_id character varying, p_user_pw character varying, p_member_nm character varying, p_email character varying, p_tel_no character varying, p_co_nm character varying, p_dept_nm character varying, p_cid character varying) RETURNS character varying
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
-- 값을 반환하기 위해 VARCHAR로 수정
|
|
DECLARE v_user_exists INTEGER;
|
|
v_itm_area numeric; -- 무료 제공 면적
|
|
v_end_dt timestamp;
|
|
/*
|
|
회원가입시 사용되는 함수
|
|
*/
|
|
BEGIN
|
|
|
|
v_end_dt := (date_trunc('year', CURRENT_TIMESTAMP) + INTERVAL '1 year - 1 day')::timestamp;
|
|
|
|
-- [0] 무료제공면적
|
|
SELECT a.area INTO v_itm_area
|
|
FROM kngil.item a
|
|
WHERE a.itm_cd = 'A0000'; -- 회원가입제공 면적
|
|
|
|
|
|
-- [1] 중복 아이디 체크 (대소문자 무시)
|
|
SELECT COUNT(*) INTO v_user_exists
|
|
FROM kngil.users
|
|
WHERE LOWER(user_id) = LOWER(p_member_id); -- 양쪽 모두 소문자로 변환하여 비교
|
|
|
|
IF v_user_exists > 0 THEN
|
|
RETURN 'ERROR: 이미 존재하는 아이디입니다. (대소문자 포함)';
|
|
END IF;
|
|
|
|
-- 회원 테이블 저장
|
|
INSERT INTO kngil.members (
|
|
member_id, member_nm, co_bc, bs_no, co_nm,
|
|
co_tel, tel_no, email, join_dt, buy_area,
|
|
use_area, stat_bc, memo, cid, cdt
|
|
) VALUES (
|
|
p_member_id -- 회원ID
|
|
, p_member_nm -- 성명
|
|
, p_co_bc -- 법인구분 case 구문 사용해야 할 수 있음. 변수가 라디오 버튼
|
|
, null -- 사업자번호
|
|
, p_co_nm -- 회사명
|
|
, null -- 회사번호
|
|
, p_tel_no -- 휴대폰
|
|
, p_email -- 이메일
|
|
, CURRENT_DATE -- 가입일자
|
|
, null -- 구매면적
|
|
, null -- 사용면적
|
|
, 'SA100100' -- 회원상태 : 사용중
|
|
, null -- 메모
|
|
, p_cid -- 생성자
|
|
, CURRENT_TIMESTAMP -- 생성일
|
|
);
|
|
|
|
-- 회원가입 시 사용자정보 권한 "메인" 생성
|
|
INSERT INTO kngil.users (
|
|
member_id, user_id, user_pw, user_nm, dept_nm,
|
|
posit_nm, tel_no, email, auth_bc, use_yn,
|
|
rmks, cid, cdt
|
|
) VALUES (
|
|
p_member_id -- 회원ID
|
|
, p_member_id -- 유저ID : 최초 회원의 ID와 동일
|
|
, p_user_pw -- 로그인 PW
|
|
, p_member_nm -- 성명
|
|
, p_dept_nm -- 부서
|
|
, null -- 직위
|
|
, p_tel_no -- 전화번호
|
|
, p_email -- 이메일
|
|
, 'BS100300' -- 권한관리 : 메인
|
|
, 'Y' -- 사용여부 Y 고정
|
|
, null -- 비고
|
|
, p_cid -- 생성자
|
|
, CURRENT_TIMESTAMP -- 생성일
|
|
);
|
|
|
|
|
|
|
|
-- 사용면적 제공 (구매이력 테이블에 초기제공상품 정보 등록 금액 0원)
|
|
PERFORM kngil.sp_buy_item_i(
|
|
p_member_id::character varying, -- 1. p_member_id
|
|
CURRENT_DATE::date, -- 2.가입일
|
|
'A0000'::character varying, -- 3. p_itm_cd
|
|
1::integer, -- 4. p_itm_qty
|
|
v_itm_area::numeric, -- 5. p_itm_area
|
|
0::numeric, -- 6. p_add_area
|
|
v_itm_area::numeric, -- 7. p_sum_area
|
|
0::numeric, -- 8. p_itm_amt
|
|
0::numeric, -- 9. p_dis_rt
|
|
0::numeric, -- 10. p_buy_amt
|
|
0::numeric, -- 11. p_vat_amt
|
|
0::numeric, -- 12. p_sum_amt
|
|
v_end_dt::date, -- 13. p_end_dt
|
|
'Y'::character varying, -- 14. p_ok_yn
|
|
'최초 가입 제공'::character varying, -- 15. p_rmks
|
|
p_cid::character varying -- 16. p_cid
|
|
);
|
|
|
|
RETURN 'SUCCESS';
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 'ERROR: ' || SQLERRM;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_member_i(p_co_bc character varying, p_member_id character varying, p_user_pw character varying, p_member_nm character varying, p_email character varying, p_tel_no character varying, p_co_nm character varying, p_dept_nm character varying, p_cid character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 259 (class 1255 OID 16565)
|
|
-- Name: sp_member_sys_r(character varying, character varying, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_member_sys_r(p_co_nm character varying DEFAULT NULL::character varying, p_rem_area character varying DEFAULT NULL::character varying, p_stat_bc character varying DEFAULT NULL::character varying) RETURNS TABLE(member_id character varying, user_id character varying, user_nm character varying, tel_no character varying, email character varying, co_nm character varying, bs_no character varying, join_dt date, user_y numeric, buy_area numeric, use_area numeric, rem_area numeric, stat_bc character varying, memo text)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
/*
|
|
설 명 : 큰길회원 list 관리자 화면 조회, 사용자의 권한구분이 "메인" 인 인원
|
|
작성자 : 권오재
|
|
작성일 : 2026-01-14
|
|
비 고 : 최초작성
|
|
*/
|
|
BEGIN
|
|
RETURN QUERY
|
|
SELECT
|
|
a.member_id, -- 회원ID
|
|
b.user_id, -- 사용자ID
|
|
b.user_nm, -- 사용자이름
|
|
b.tel_no, -- 사용자연락처
|
|
b.email, -- 사용자이메일
|
|
a.co_nm, -- 회사명
|
|
a.bs_no, -- 사업자번호
|
|
a.join_dt, -- 가입일자
|
|
(SELECT COUNT(*)
|
|
FROM kngil.users x
|
|
left join kngil.code_detail y on x.auth_bc = y.base_cd
|
|
WHERE x.member_id = a.member_id
|
|
and y.m1 = '1'
|
|
and x.use_yn='Y')::numeric as user_y, -- 사용자수
|
|
a.buy_area, -- 구매면적
|
|
a.use_area, -- 사용면적
|
|
a.buy_area - a.use_area as rem_area, -- 잔여면적
|
|
a.stat_bc, -- 회원상태
|
|
a.memo
|
|
FROM kngil.members a -- 회원정보
|
|
left join kngil.users b on a.member_id = b.member_id and b.auth_bc = 'BS100300' -- 권한구분이 메인
|
|
WHERE 1=1
|
|
AND (a.co_nm LIKE '%' || p_co_nm || '%' OR p_co_nm = '')
|
|
AND (p_rem_area = '' OR p_rem_area::NUMERIC >= (a.buy_area - a.use_area))
|
|
and (p_stat_bc ='' OR a.stat_bc = p_stat_bc)
|
|
ORDER BY a.join_dt DESC;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_member_sys_r(p_co_nm character varying, p_rem_area character varying, p_stat_bc character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 264 (class 1255 OID 16578)
|
|
-- Name: sp_member_sys_u(character varying, character varying, character varying, character varying, character varying, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_member_sys_u(p_member_id character varying, p_tel_no character varying, p_email character varying, p_bs_no character varying, p_co_nm character varying, p_mid character varying) RETURNS text
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
-- 1. 회원정보 업데이트
|
|
UPDATE kngil.members
|
|
SET tel_no = p_tel_no,
|
|
email = p_email,
|
|
bs_no = p_bs_no,
|
|
co_nm = p_co_nm,
|
|
mid = p_mid,
|
|
mdt = CURRENT_TIMESTAMP
|
|
WHERE member_id = p_member_id;
|
|
|
|
-- 2. 유저정보 업데이트
|
|
UPDATE kngil.users
|
|
SET tel_no = p_tel_no,
|
|
email = p_email,
|
|
mid = p_mid,
|
|
mdt = CURRENT_TIMESTAMP
|
|
WHERE member_id = p_member_id
|
|
AND auth_bc = 'BS100300'; -- b.auth_bc 대신 컬럼명 직접 사용
|
|
|
|
-- 결과 확인 (하나라도 수정되었다면 성공)
|
|
IF NOT FOUND THEN
|
|
RETURN 'ERROR: 수정할 회원 또는 유저 정보를 찾을 수 없습니다.';
|
|
else
|
|
RETURN 'SUCCESS';
|
|
END IF;
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 'ERROR: ' || SQLERRM;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_member_sys_u(p_member_id character varying, p_tel_no character varying, p_email character varying, p_bs_no character varying, p_co_nm character varying, p_mid character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 277 (class 1255 OID 16707)
|
|
-- Name: sp_use_history(character varying, character varying, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_use_history(p_member_id character varying, p_user_nm character varying DEFAULT NULL::character varying, p_dept_nm character varying DEFAULT NULL::character varying) RETURNS TABLE(member_id character varying, use_dt date, user_id character varying, sq_no integer, user_nm character varying, dept_nm character varying, posit_nm character varying, use_yn character varying, use_area numeric, ser_bc character varying, cdt timestamp without time zone)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
RETURN QUERY
|
|
SELECT
|
|
b.member_id::character varying,
|
|
a.use_dt, -- DATE 타입
|
|
a.user_id::character varying,
|
|
a.sq_no,
|
|
b.user_nm::character varying,
|
|
b.dept_nm::character varying,
|
|
b.posit_nm::character varying,
|
|
b.use_yn::character varying,
|
|
a.use_area,
|
|
kngil.fn_base_nm(a.ser_bc)::character varying as ser_bc,
|
|
a.cdt
|
|
FROM kngil.use_history a
|
|
INNER JOIN kngil.users b ON a.user_id = b.user_id
|
|
WHERE b.member_id = p_member_id
|
|
-- 이름 검색 (값이 있을 때만 LIKE)
|
|
AND (NULLIF(p_user_nm, '') IS NULL OR b.user_nm LIKE '%' || p_user_nm || '%')
|
|
-- 부서 검색 (값이 있을 때만 LIKE)
|
|
AND (NULLIF(p_dept_nm, '') IS NULL OR b.dept_nm LIKE '%' || p_dept_nm || '%')
|
|
ORDER BY a.use_dt DESC, a.sq_no DESC;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_use_history(p_member_id character varying, p_user_nm character varying, p_dept_nm character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 270 (class 1255 OID 16637)
|
|
-- Name: sp_user_auth_tran(character varying, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_user_auth_tran(p_tuser_id character varying, p_mid character varying) RETURNS text
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
DECLARE
|
|
v_fuser_id character varying; -- 위임 주는 사람 (From, 기존 메인)
|
|
v_member_id character varying; -- 위임 받는 사람의 회원ID
|
|
BEGIN
|
|
-- 1. 위임 받을 사용자 정보 조회 (한 번에 조회)
|
|
SELECT member_id INTO v_member_id
|
|
FROM kngil.users
|
|
WHERE user_id = p_tuser_id;
|
|
|
|
-- 사용자가 없는 경우 처리
|
|
IF v_member_id IS NULL THEN
|
|
RETURN 'ERROR: 수정할 사용자를 찾을 수 없습니다.';
|
|
END IF;
|
|
|
|
-- 2. 해당 멤버의 기존 메인 사용자(BS100300) 찾기
|
|
SELECT user_id INTO v_fuser_id
|
|
FROM kngil.users
|
|
WHERE member_id = v_member_id
|
|
AND auth_bc = 'BS100300'
|
|
AND use_yn = 'Y';
|
|
|
|
-- 메인 사용자가 없는 경우 (위임해 줄 대상이 없음)
|
|
IF v_fuser_id IS NULL THEN
|
|
RETURN 'ERROR: 위임할 메인 사용자를 찾을 수 없습니다.';
|
|
END IF;
|
|
|
|
-- 본인에게 위임하는 경우 방지 (필요 시)
|
|
IF v_fuser_id = p_tuser_id THEN
|
|
RETURN 'ERROR: 본인에게는 권한을 위임할 수 없습니다.';
|
|
END IF;
|
|
|
|
-- 3. 권한 위임받는 사람 업데이트 (서브 -> 메인)
|
|
UPDATE kngil.users
|
|
SET
|
|
auth_bc = 'BS100300',
|
|
rmks = '권한위임[' || v_fuser_id || ']', -- + 대신 || 사용
|
|
mid = p_mid,
|
|
mdt = CURRENT_TIMESTAMP
|
|
WHERE user_id = p_tuser_id;
|
|
|
|
-- 4. 권한 위임주는 사람 업데이트 (메인 -> 서브)
|
|
UPDATE kngil.users
|
|
SET
|
|
auth_bc = 'BS100400',
|
|
rmks = '권한위임[' || p_tuser_id || ']', -- + 대신 || 사용
|
|
mid = p_mid,
|
|
mdt = CURRENT_TIMESTAMP
|
|
WHERE user_id = v_fuser_id;
|
|
|
|
RETURN 'SUCCESS';
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 'ERROR: ' || SQLERRM;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_user_auth_tran(p_tuser_id character varying, p_mid character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 278 (class 1255 OID 16711)
|
|
-- Name: sp_user_end(character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_user_end(p_user_id character varying) RETURNS void
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
DECLARE
|
|
v_member_id character varying;
|
|
v_auth_bc character varying;
|
|
BEGIN
|
|
-- 1. 유저 ID로 소속 멤버 ID와 권한 코드를 한 번에 조회
|
|
SELECT a.member_id, a.auth_bc
|
|
INTO v_member_id, v_auth_bc
|
|
FROM kngil.users a
|
|
WHERE a.user_id = p_user_id;
|
|
|
|
-- 2. 권한 코드에 따른 조건 분기
|
|
IF v_auth_bc = 'BS100300' THEN
|
|
-- [메인 관리자 권한] 해당 멤버 전체 탈퇴 및 소속 유저 전원 중지
|
|
|
|
-- 멤버 테이블 업데이트 (탈퇴 처리)
|
|
UPDATE kngil.members
|
|
SET stat_bc = 'SA100900',
|
|
mid = p_user_id,
|
|
mdt = CURRENT_TIMESTAMP
|
|
WHERE member_id = v_member_id;
|
|
|
|
-- 해당 멤버에 속한 모든 유저 사용 안함 처리
|
|
UPDATE kngil.users
|
|
SET use_yn = 'N',
|
|
mid = p_user_id,
|
|
mdt = CURRENT_TIMESTAMP
|
|
WHERE member_id = v_member_id;
|
|
|
|
ELSE
|
|
-- [일반 권한] 해당 유저 개인만 사용 안함 처리
|
|
|
|
UPDATE kngil.users
|
|
SET use_yn = 'N',
|
|
mid = p_user_id,
|
|
mdt = CURRENT_TIMESTAMP
|
|
WHERE user_id = p_user_id;
|
|
|
|
END IF;
|
|
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_user_end(p_user_id character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 254 (class 1255 OID 16546)
|
|
-- Name: sp_users_d(character varying, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_users_d(p_member_id character varying, p_user_id character varying) RETURNS text
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
DECLARE
|
|
/*
|
|
설 명 : users 테이블 삭제 프로시져
|
|
작성자 : 권오재
|
|
작성일 : 2026-01-14
|
|
비 고 : 최초작성
|
|
*/
|
|
v_exists INTEGER;
|
|
BEGIN
|
|
-- 1. 삭제 대상이 존재하는지 먼저 확인
|
|
SELECT COUNT(*) INTO v_exists
|
|
FROM kngil.users
|
|
WHERE member_id = p_member_id AND user_id = p_user_id;
|
|
|
|
IF v_exists = 0 THEN
|
|
RETURN 'ERROR: 삭제할 사용자를 찾을 수 없습니다.';
|
|
END IF;
|
|
|
|
-- 2. 데이터 삭제 실행
|
|
DELETE FROM kngil.users
|
|
WHERE member_id = p_member_id
|
|
AND user_id = p_user_id;
|
|
|
|
RETURN 'SUCCESS';
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
-- 트랜잭션 원자성에 의해 에러 발생 시 자동 롤백됩니다.
|
|
RETURN 'ERROR: ' || SQLERRM;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_users_d(p_member_id character varying, p_user_id character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 265 (class 1255 OID 16577)
|
|
-- Name: sp_users_i(character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_users_i(p_member_id character varying, p_user_id character varying, p_user_pw character varying, p_user_nm character varying, p_dept_nm character varying, p_posit_nm character varying, p_tel_no character varying, p_email character varying, p_auth_bc character varying, p_use_yn character varying, p_rmks character varying, p_cid character varying) RETURNS text
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
/*
|
|
설 명 : users table 데이터 생성 프로시져 "회원 관리자 페이지" 사용자 추가
|
|
작성자 : 권오재
|
|
작성일 : 2026-01-14
|
|
비 고 : 최초작성
|
|
*/
|
|
DECLARE
|
|
v_count INTEGER;
|
|
-- 값을 반환하기 위해 VARCHAR로 수정
|
|
DECLARE v_user_exists INTEGER;
|
|
BEGIN
|
|
|
|
-- [1] 중복 아이디 체크 (대소문자 무시)
|
|
SELECT COUNT(*) INTO v_user_exists
|
|
FROM kngil.users
|
|
WHERE LOWER(user_id) = LOWER(p_user_id); -- 양쪽 모두 소문자로 변환하여 비교
|
|
|
|
IF v_user_exists > 0 THEN
|
|
RETURN 'ERROR: 이미 존재하는 아이디입니다.';
|
|
END IF;
|
|
|
|
-- 1. 부모 테이블(members)에 member_id가 존재하는지 먼저 체크
|
|
SELECT COUNT(*) INTO v_count FROM kngil.members WHERE member_id = p_member_id;
|
|
|
|
IF v_count = 0 THEN
|
|
RETURN 'ERROR: 존재하지 않는 회원ID(member_id)입니다.';
|
|
END IF;
|
|
|
|
-- 2. 사용자ID(user_id) 중복 체크
|
|
SELECT COUNT(*) INTO v_count FROM kngil.users WHERE user_id = p_user_id;
|
|
|
|
IF v_count > 0 THEN
|
|
RETURN 'ERROR: 이미 존재하는 사용자ID입니다.';
|
|
END IF;
|
|
|
|
-- 3. 데이터 삽입
|
|
INSERT INTO kngil.users (
|
|
member_id, user_id, user_pw, user_nm,
|
|
dept_nm, posit_nm, tel_no, email,
|
|
auth_bc, use_yn, rmks,
|
|
cid, cdt, mid, mdt
|
|
) VALUES (
|
|
p_member_id, p_user_id, p_user_pw, p_user_nm,
|
|
p_dept_nm, p_posit_nm, p_tel_no, p_email,
|
|
p_auth_bc, p_use_yn, p_rmks,
|
|
p_cid, CURRENT_TIMESTAMP, p_cid, CURRENT_TIMESTAMP
|
|
);
|
|
|
|
RETURN 'SUCCESS';
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 'ERROR: ' || SQLERRM;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_users_i(p_member_id character varying, p_user_id character varying, p_user_pw character varying, p_user_nm character varying, p_dept_nm character varying, p_posit_nm character varying, p_tel_no character varying, p_email character varying, p_auth_bc character varying, p_use_yn character varying, p_rmks character varying, p_cid character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 258 (class 1255 OID 16590)
|
|
-- Name: sp_users_my_history(character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_users_my_history(p_user_id character varying) RETURNS TABLE(use_dt date, user_nm character varying, use_area numeric, ser_bc character varying, cdt timestamp without time zone)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
RETURN QUERY
|
|
SELECT
|
|
h.use_dt,
|
|
u.user_nm,
|
|
h.use_area,
|
|
kngil.fn_base_nm(h.ser_bc) as ser_bc,
|
|
h.cdt
|
|
FROM kngil.use_history h
|
|
JOIN kngil.users u ON h.user_id = u.user_id
|
|
WHERE h.user_id = p_user_id
|
|
ORDER BY h.use_dt DESC, h.sq_no DESC;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_users_my_history(p_user_id character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 269 (class 1255 OID 16633)
|
|
-- Name: sp_users_my_r(character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_users_my_r(p_user_id character varying) RETURNS TABLE(co_bc character varying, user_id character varying, user_pw character varying, user_nm character varying, email character varying, tel_no character varying, co_nm character varying, dept_nm character varying, tot_use numeric, year_use numeric)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
BEGIN
|
|
RETURN QUERY
|
|
SELECT
|
|
b.co_bc -- 법인구분
|
|
, a.user_id -- ID
|
|
, a.user_pw -- 비밀번호
|
|
, a.user_nm -- 성명
|
|
, a.email -- 이메일
|
|
, a.tel_no -- 연락처
|
|
, b.co_nm -- 회사명
|
|
, a.dept_nm -- 부서
|
|
, (select sum(x.use_area) from kngil.use_history x where a.user_id = x.user_id)::numeric as tot_use -- 누적 사용량
|
|
, (select sum(x.use_area) from kngil.use_history x where a.user_id = x.user_id and EXTRACT(YEAR FROM use_dt) = EXTRACT(YEAR FROM CURRENT_DATE))::numeric as year_use -- 당년 사용량
|
|
FROM kngil.users a
|
|
left JOIN kngil.members b ON a.member_id = b.member_id
|
|
WHERE a.user_id = p_user_id;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_users_my_r(p_user_id character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 267 (class 1255 OID 16584)
|
|
-- Name: sp_users_my_u(character varying, character varying, character varying, character varying, character varying, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_users_my_u(p_user_id character varying, p_user_pw character varying, p_email character varying, p_tel_no character varying, p_dept_nm character varying, p_mid character varying) RETURNS character varying
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
-- 값을 반환하기 위해 VARCHAR로 수정
|
|
DECLARE v_user_exists INTEGER;
|
|
/*
|
|
내정보 수정 화면에서 사용.
|
|
*/
|
|
|
|
BEGIN
|
|
|
|
-- 데이터 업데이트
|
|
UPDATE kngil.users
|
|
SET
|
|
user_pw = COALESCE(NULLIF(p_user_pw, ''), user_pw), -- 비밀번호가 빈값이면 기존 유지
|
|
dept_nm = p_dept_nm, -- 부서명
|
|
tel_no = p_tel_no, -- 전화번호
|
|
email = p_email, -- 메일주소
|
|
mid = p_mid, -- 수정자 ID 기록
|
|
mdt = CURRENT_TIMESTAMP -- 수정일시 기록
|
|
WHERE 1=1
|
|
AND user_id = p_user_id;
|
|
|
|
RETURN 'SUCCESS';
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 'ERROR: ' || SQLERRM;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_users_my_u(p_user_id character varying, p_user_pw character varying, p_email character varying, p_tel_no character varying, p_dept_nm character varying, p_mid character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 279 (class 1255 OID 16718)
|
|
-- Name: sp_users_r(character varying, character varying, character varying, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_users_r(p_member_id character varying DEFAULT ''::character varying, p_user_nm character varying DEFAULT ''::character varying, p_dept_nm character varying DEFAULT ''::character varying, p_use_yn character varying DEFAULT ''::character varying) RETURNS TABLE(member_id character varying, users_tot bigint, users_y bigint, term text, tuse_area numeric, tbuy_area numeric, remain_area numeric, user_id character varying, user_pw character varying, user_nm character varying, tel_no character varying, email character varying, dept_nm character varying, use_area numeric, cdt date, use_yn character varying, auth_bc character varying, rmks character varying, itm_nm character varying)
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
/*
|
|
설 명 : 조회 프로시져 members 기반 users 테이블 조인하여 사용. "회원 관리자 페이지" 조회용
|
|
작성자 : 권오재
|
|
작성일 : 2026-01-14
|
|
비 고 : 최초작성
|
|
*/
|
|
DECLARE
|
|
v_to_dt character varying; -- 유효일자
|
|
v_remain_days integer; -- 잔여일 저장 변수
|
|
v_itm_nm character varying; -- 가입 상품명
|
|
BEGIN
|
|
|
|
SELECT
|
|
MAX(end_dt)::text
|
|
|
|
INTO
|
|
v_to_dt
|
|
FROM kngil.buy_item a
|
|
WHERE a.member_id = p_member_id; -- 유효일자 종료일자만 표시 END_DT 가 가장 늦은 날 기준.
|
|
|
|
|
|
SELECT b.itm_nm
|
|
INTO v_itm_nm
|
|
FROM kngil.buy_item a
|
|
LEFT JOIN kngil.item b ON a.itm_cd = b.itm_cd
|
|
WHERE a.member_id = p_member_id
|
|
AND EXTRACT(YEAR FROM a.end_dt) = EXTRACT(YEAR FROM CURRENT_DATE)
|
|
-- 금액이 큰 순서대로 정렬
|
|
ORDER BY a.itm_amt DESC, a.end_dt DESC
|
|
LIMIT 1;
|
|
|
|
|
|
v_remain_days := COALESCE(v_to_dt::DATE - CURRENT_DATE, 0);
|
|
|
|
|
|
|
|
RETURN QUERY
|
|
SELECT
|
|
-- [회원정보 기반]
|
|
a.member_id,
|
|
(SELECT COUNT(*) FROM kngil.users u WHERE u.member_id = a.member_id) AS users_tot, -- 발급사용자 수
|
|
(SELECT COUNT(*) FROM kngil.users u WHERE u.member_id = a.member_id and u.use_yn='Y') AS users_y, -- 실사용자 수
|
|
--v_fr_dt||' ~ '||v_to_dt AS term, -- 유효일자
|
|
' : '||v_to_dt||' ('||v_remain_days||'일)' AS term, -- 유효일자 종료일자만 표시 END_DT 가 가장 늦은 날 기준.
|
|
a.use_area AS tuse_area, -- 총 사용면적
|
|
a.buy_area AS tbuy_area, -- 총 구입면적
|
|
(a.buy_area - a.use_area) AS remain_area, -- 잔여면적 (계산필드)
|
|
|
|
-- [사용자정보 기반]
|
|
b.user_id,
|
|
b.user_pw,
|
|
b.user_nm,
|
|
b.tel_no,
|
|
b.email,
|
|
b.dept_nm,
|
|
-- 사용자별 개별 사용량 (use_history 테이블 참조) -- 당해년도기준으로 할지 전체 누적으로 할지 고민 필요.
|
|
COALESCE((SELECT SUM(uh.use_area) FROM kngil.use_history uh WHERE uh.user_id = b.user_id), 0) AS use_area,
|
|
b.cdt::DATE as cdt,
|
|
b.use_yn, -- 사용여부
|
|
b.auth_bc, -- 권한구분
|
|
b.rmks, -- 유저비고
|
|
v_itm_nm::character varying as itm_nm
|
|
FROM kngil.members a
|
|
LEFT JOIN kngil.users b ON a.member_id = b.member_id
|
|
WHERE 1=1
|
|
AND a.member_id = p_member_id
|
|
AND (b.user_nm LIKE '%' || p_user_nm || '%' OR p_user_nm = '')
|
|
AND (b.dept_nm LIKE '%' || p_dept_nm || '%' OR p_dept_nm = '')
|
|
AND (p_use_yn = '' OR b.use_yn = p_use_yn)
|
|
ORDER BY a.member_id DESC, b.user_id ASC;
|
|
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_users_r(p_member_id character varying, p_user_nm character varying, p_dept_nm character varying, p_use_yn character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 253 (class 1255 OID 16545)
|
|
-- Name: sp_users_u(character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying, character varying); Type: FUNCTION; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE FUNCTION kngil.sp_users_u(p_member_id character varying, p_user_id character varying, p_user_pw character varying, p_user_nm character varying, p_dept_nm character varying, p_posit_nm character varying, p_tel_no character varying, p_email character varying, p_auth_bc character varying, p_use_yn character varying, p_rmks character varying, p_mid character varying) RETURNS text
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
DECLARE
|
|
v_exists INTEGER;
|
|
BEGIN
|
|
-- 1. 해당 사용자가 존재하는지 확인
|
|
SELECT COUNT(*) INTO v_exists
|
|
FROM kngil.users
|
|
WHERE member_id = p_member_id AND user_id = p_user_id;
|
|
|
|
IF v_exists = 0 THEN
|
|
RETURN 'ERROR: 수정할 사용자를 찾을 수 없습니다.';
|
|
END IF;
|
|
|
|
-- 2. 데이터 업데이트
|
|
UPDATE kngil.users
|
|
SET
|
|
user_pw = COALESCE(NULLIF(p_user_pw, ''), user_pw), -- 비밀번호가 빈값이면 기존 유지
|
|
user_nm = p_user_nm, -- 이름
|
|
dept_nm = p_dept_nm, -- 부서명
|
|
posit_nm = p_posit_nm, -- 직위
|
|
tel_no = p_tel_no, -- 전화번호
|
|
email = p_email, -- 메일주소
|
|
auth_bc = p_auth_bc, -- 권한구분
|
|
use_yn = p_use_yn, -- 사용여부
|
|
rmks = p_rmks, -- 비고
|
|
mid = p_mid, -- 수정자 ID 기록
|
|
mdt = CURRENT_TIMESTAMP -- 수정일시 기록
|
|
WHERE member_id = p_member_id
|
|
AND user_id = p_user_id;
|
|
|
|
RETURN 'SUCCESS';
|
|
|
|
EXCEPTION WHEN OTHERS THEN
|
|
RETURN 'ERROR: ' || SQLERRM;
|
|
END;
|
|
$$;
|
|
|
|
|
|
ALTER FUNCTION kngil.sp_users_u(p_member_id character varying, p_user_id character varying, p_user_pw character varying, p_user_nm character varying, p_dept_nm character varying, p_posit_nm character varying, p_tel_no character varying, p_email character varying, p_auth_bc character varying, p_use_yn character varying, p_rmks character varying, p_mid character varying) OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 223 (class 1259 OID 16449)
|
|
-- Name: buy_item; Type: TABLE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE kngil.buy_item (
|
|
member_id character varying(20) NOT NULL,
|
|
sq_no integer NOT NULL,
|
|
buy_dt date NOT NULL,
|
|
itm_cd character(5) NOT NULL,
|
|
itm_qty numeric(18,0) NOT NULL,
|
|
itm_area numeric(18,0) NOT NULL,
|
|
add_area numeric(18,0),
|
|
sum_area numeric(18,0),
|
|
itm_amt numeric(18,2) NOT NULL,
|
|
dis_rt numeric(5,2),
|
|
buy_amt numeric(18,2),
|
|
vat_amt numeric(18,2),
|
|
sum_amt numeric(18,2),
|
|
end_dt date,
|
|
ok_yn character(1),
|
|
rmks character varying(100),
|
|
cid character varying(20),
|
|
cdt timestamp without time zone,
|
|
mid character varying(20),
|
|
mdt timestamp without time zone
|
|
);
|
|
|
|
|
|
ALTER TABLE kngil.buy_item OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 227 (class 1259 OID 16522)
|
|
-- Name: code_detail; Type: TABLE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE kngil.code_detail (
|
|
main_cd character varying(5) NOT NULL,
|
|
sub_cd character varying(5) NOT NULL,
|
|
sub_nm character varying(100),
|
|
base_cd character varying(10) NOT NULL,
|
|
use_yn character(1) NOT NULL,
|
|
sort_sq integer,
|
|
rmks character varying(100),
|
|
m1 character varying(50),
|
|
m2 character varying(50),
|
|
m3 character varying(50),
|
|
m4 character varying(50),
|
|
m5 character varying(50),
|
|
m6 character varying(50),
|
|
m7 character varying(50),
|
|
m8 character varying(50),
|
|
m9 character varying(50),
|
|
m10 character varying(50)
|
|
);
|
|
|
|
|
|
ALTER TABLE kngil.code_detail OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 5044 (class 0 OID 0)
|
|
-- Dependencies: 227
|
|
-- Name: TABLE code_detail; Type: COMMENT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COMMENT ON TABLE kngil.code_detail IS '공통코드상세';
|
|
|
|
|
|
--
|
|
-- TOC entry 5045 (class 0 OID 0)
|
|
-- Dependencies: 227
|
|
-- Name: COLUMN code_detail.sub_nm; Type: COMMENT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COMMENT ON COLUMN kngil.code_detail.sub_nm IS '서브코드명';
|
|
|
|
|
|
--
|
|
-- TOC entry 226 (class 1259 OID 16497)
|
|
-- Name: code_master; Type: TABLE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE kngil.code_master (
|
|
main_cd character varying(5) NOT NULL,
|
|
nain_nm character varying(100),
|
|
use_yn character(1),
|
|
use_bc character varying(10),
|
|
sort_bc character varying(10),
|
|
rmks character varying(100),
|
|
t1 character varying(50),
|
|
t2 character varying(50),
|
|
t3 character varying(50),
|
|
t4 character varying(50),
|
|
t5 character varying(50),
|
|
t6 character varying(50),
|
|
t7 character varying(50),
|
|
t8 character varying(50),
|
|
t9 character varying(50),
|
|
t10 character varying(50)
|
|
);
|
|
|
|
|
|
ALTER TABLE kngil.code_master OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 5046 (class 0 OID 0)
|
|
-- Dependencies: 226
|
|
-- Name: TABLE code_master; Type: COMMENT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COMMENT ON TABLE kngil.code_master IS '공통코드마스터';
|
|
|
|
|
|
--
|
|
-- TOC entry 5047 (class 0 OID 0)
|
|
-- Dependencies: 226
|
|
-- Name: COLUMN code_master.main_cd; Type: COMMENT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COMMENT ON COLUMN kngil.code_master.main_cd IS '메인코드';
|
|
|
|
|
|
--
|
|
-- TOC entry 5048 (class 0 OID 0)
|
|
-- Dependencies: 226
|
|
-- Name: COLUMN code_master.nain_nm; Type: COMMENT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COMMENT ON COLUMN kngil.code_master.nain_nm IS '코드명';
|
|
|
|
|
|
--
|
|
-- TOC entry 236 (class 1259 OID 16679)
|
|
-- Name: fa_comments_fa_id_seq; Type: SEQUENCE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE kngil.fa_comments ALTER COLUMN fa_id ADD GENERATED BY DEFAULT AS IDENTITY (
|
|
SEQUENCE NAME kngil.fa_comments_fa_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1
|
|
);
|
|
|
|
|
|
--
|
|
-- TOC entry 221 (class 1259 OID 16427)
|
|
-- Name: item; Type: TABLE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE kngil.item (
|
|
itm_cd character varying(5) NOT NULL,
|
|
itm_nm character varying(50),
|
|
area numeric(18,0),
|
|
itm_amt numeric(18,2),
|
|
use_yn character(1),
|
|
rmks character varying(100),
|
|
cid character varying(20),
|
|
cdt timestamp without time zone,
|
|
mid character varying(20),
|
|
mdt timestamp without time zone
|
|
);
|
|
|
|
|
|
ALTER TABLE kngil.item OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 5049 (class 0 OID 0)
|
|
-- Dependencies: 221
|
|
-- Name: TABLE item; Type: COMMENT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COMMENT ON TABLE kngil.item IS '서비스 상품 관리 테이블';
|
|
|
|
|
|
--
|
|
-- TOC entry 225 (class 1259 OID 16484)
|
|
-- Name: login_history; Type: TABLE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE kngil.login_history (
|
|
user_id character varying(20) NOT NULL,
|
|
sq_no integer NOT NULL,
|
|
public_ip character varying(45),
|
|
local_ip character varying(45),
|
|
login_tm timestamp without time zone
|
|
);
|
|
|
|
|
|
ALTER TABLE kngil.login_history OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 220 (class 1259 OID 16414)
|
|
-- Name: members; Type: TABLE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE kngil.members (
|
|
member_id character varying(20) CONSTRAINT member_member_id_not_null NOT NULL,
|
|
member_nm character varying(50) CONSTRAINT member_member_nm_not_null NOT NULL,
|
|
co_bc character varying(10) CONSTRAINT member_co_bc_not_null NOT NULL,
|
|
bs_no character varying(15),
|
|
co_nm character varying(50) CONSTRAINT member_co_nm_not_null NOT NULL,
|
|
co_tel character varying(13),
|
|
tel_no character varying(13),
|
|
email character varying(50),
|
|
join_dt date CONSTRAINT member_join_dt_not_null NOT NULL,
|
|
end_dt date,
|
|
buy_area numeric(18,0),
|
|
use_area numeric(18,0),
|
|
stat_bc character varying(10) CONSTRAINT member_stat_bc_not_null NOT NULL,
|
|
memo text,
|
|
cid character varying(20),
|
|
cdt timestamp without time zone,
|
|
mid character varying(20),
|
|
mdt timestamp without time zone
|
|
);
|
|
|
|
|
|
ALTER TABLE kngil.members OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 5050 (class 0 OID 0)
|
|
-- Dependencies: 220
|
|
-- Name: TABLE members; Type: COMMENT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COMMENT ON TABLE kngil.members IS '회원 관리 테이블';
|
|
|
|
|
|
--
|
|
-- TOC entry 5051 (class 0 OID 0)
|
|
-- Dependencies: 220
|
|
-- Name: COLUMN members.member_id; Type: COMMENT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COMMENT ON COLUMN kngil.members.member_id IS '회원ID';
|
|
|
|
|
|
--
|
|
-- TOC entry 228 (class 1259 OID 16594)
|
|
-- Name: qa_attachments; Type: TABLE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE kngil.qa_attachments (
|
|
post_id integer,
|
|
ori_name character varying,
|
|
save_path character varying,
|
|
file_size integer,
|
|
uploaded_at timestamp with time zone,
|
|
id bigint NOT NULL
|
|
);
|
|
|
|
|
|
ALTER TABLE kngil.qa_attachments OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 5052 (class 0 OID 0)
|
|
-- Dependencies: 228
|
|
-- Name: TABLE qa_attachments; Type: COMMENT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COMMENT ON TABLE kngil.qa_attachments IS 'Q&A 첨부파일 테이블';
|
|
|
|
|
|
--
|
|
-- TOC entry 237 (class 1259 OID 16687)
|
|
-- Name: qa_attachments_id_seq; Type: SEQUENCE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE kngil.qa_attachments ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
|
|
SEQUENCE NAME kngil.qa_attachments_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1
|
|
);
|
|
|
|
|
|
--
|
|
-- TOC entry 234 (class 1259 OID 16627)
|
|
-- Name: qa_comment_images; Type: TABLE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE kngil.qa_comment_images (
|
|
id integer NOT NULL,
|
|
comment_id integer,
|
|
file_name character varying(255),
|
|
file_path character varying(255),
|
|
thumb_path character varying(255),
|
|
file_size integer,
|
|
uploaded_at timestamp with time zone
|
|
);
|
|
|
|
|
|
ALTER TABLE kngil.qa_comment_images OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 5053 (class 0 OID 0)
|
|
-- Dependencies: 234
|
|
-- Name: TABLE qa_comment_images; Type: COMMENT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COMMENT ON TABLE kngil.qa_comment_images IS '뎃글 이미지';
|
|
|
|
|
|
--
|
|
-- TOC entry 233 (class 1259 OID 16626)
|
|
-- Name: qa_comment_images_id_seq; Type: SEQUENCE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE kngil.qa_comment_images ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY (
|
|
SEQUENCE NAME kngil.qa_comment_images_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1
|
|
);
|
|
|
|
|
|
--
|
|
-- TOC entry 232 (class 1259 OID 16618)
|
|
-- Name: qa_comments; Type: TABLE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE kngil.qa_comments (
|
|
comment_id integer NOT NULL,
|
|
post_id integer,
|
|
commenter character varying(255),
|
|
content text,
|
|
cdt_dt timestamp with time zone,
|
|
user_nm character varying(100),
|
|
mdt_dt timestamp with time zone
|
|
);
|
|
|
|
|
|
ALTER TABLE kngil.qa_comments OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 5054 (class 0 OID 0)
|
|
-- Dependencies: 232
|
|
-- Name: TABLE qa_comments; Type: COMMENT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COMMENT ON TABLE kngil.qa_comments IS '뎃글';
|
|
|
|
|
|
--
|
|
-- TOC entry 231 (class 1259 OID 16617)
|
|
-- Name: qa_comments_comment_id_seq; Type: SEQUENCE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE kngil.qa_comments ALTER COLUMN comment_id ADD GENERATED ALWAYS AS IDENTITY (
|
|
SEQUENCE NAME kngil.qa_comments_comment_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1
|
|
);
|
|
|
|
|
|
--
|
|
-- TOC entry 230 (class 1259 OID 16603)
|
|
-- Name: qa_posts; Type: TABLE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE kngil.qa_posts (
|
|
post_id integer NOT NULL,
|
|
tel_no character varying(20),
|
|
user_id character varying(64),
|
|
user_nm character varying(100),
|
|
category character varying(20),
|
|
co_nm character varying(100),
|
|
dept_nm character varying(100),
|
|
title character varying(255),
|
|
content text,
|
|
attachment character varying(500),
|
|
stat_bc character varying(50),
|
|
complete_form character(1) DEFAULT 0,
|
|
cdt_dt timestamp with time zone,
|
|
mid_dt timestamp with time zone,
|
|
is_secret character(1) DEFAULT 'N'::bpchar,
|
|
is_read_admin character(1) DEFAULT 0
|
|
);
|
|
|
|
|
|
ALTER TABLE kngil.qa_posts OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 5055 (class 0 OID 0)
|
|
-- Dependencies: 230
|
|
-- Name: TABLE qa_posts; Type: COMMENT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COMMENT ON TABLE kngil.qa_posts IS 'Q&A 내용등록';
|
|
|
|
|
|
--
|
|
-- TOC entry 5056 (class 0 OID 0)
|
|
-- Dependencies: 230
|
|
-- Name: COLUMN qa_posts.co_nm; Type: COMMENT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COMMENT ON COLUMN kngil.qa_posts.co_nm IS '회사명
|
|
';
|
|
|
|
|
|
--
|
|
-- TOC entry 229 (class 1259 OID 16602)
|
|
-- Name: qa_posts_post_id_seq; Type: SEQUENCE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE kngil.qa_posts ALTER COLUMN post_id ADD GENERATED ALWAYS AS IDENTITY (
|
|
SEQUENCE NAME kngil.qa_posts_post_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1
|
|
);
|
|
|
|
|
|
--
|
|
-- TOC entry 224 (class 1259 OID 16471)
|
|
-- Name: use_history; Type: TABLE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE kngil.use_history (
|
|
user_id character varying(20) NOT NULL,
|
|
sq_no integer NOT NULL,
|
|
use_dt date,
|
|
use_area numeric(18,0),
|
|
ser_bc character varying(10),
|
|
cid character varying(20),
|
|
cdt timestamp without time zone,
|
|
mid character varying(20),
|
|
mdt timestamp without time zone
|
|
);
|
|
|
|
|
|
ALTER TABLE kngil.use_history OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 222 (class 1259 OID 16433)
|
|
-- Name: users; Type: TABLE; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE TABLE kngil.users (
|
|
member_id character varying(20) CONSTRAINT user_member_id_not_null NOT NULL,
|
|
user_id character varying(20) CONSTRAINT user_user_id_not_null NOT NULL,
|
|
user_pw character varying(255),
|
|
user_nm character varying(50) CONSTRAINT user_user_nm_not_null NOT NULL,
|
|
dept_nm character varying(50),
|
|
posit_nm character varying(50),
|
|
tel_no character varying(13) CONSTRAINT user_tel_no_not_null NOT NULL,
|
|
email character varying(50),
|
|
auth_bc character varying(10) CONSTRAINT user_auth_bc_not_null NOT NULL,
|
|
use_yn character varying(10) CONSTRAINT user_use_yn_not_null NOT NULL,
|
|
rmks character varying(100),
|
|
cid character varying(20),
|
|
cdt timestamp without time zone,
|
|
mid character varying(20),
|
|
mdt timestamp without time zone,
|
|
oidc_sub character varying(255)
|
|
);
|
|
|
|
|
|
ALTER TABLE kngil.users OWNER TO postgres;
|
|
|
|
--
|
|
-- TOC entry 5057 (class 0 OID 0)
|
|
-- Dependencies: 222
|
|
-- Name: TABLE users; Type: COMMENT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COMMENT ON TABLE kngil.users IS '사용자관리 테이블';
|
|
|
|
|
|
--
|
|
-- TOC entry 5024 (class 0 OID 16449)
|
|
-- Dependencies: 223
|
|
-- Data for Name: buy_item; Type: TABLE DATA; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COPY kngil.buy_item (member_id, sq_no, buy_dt, itm_cd, itm_qty, itm_area, add_area, sum_area, itm_amt, dis_rt, buy_amt, vat_amt, sum_amt, end_dt, ok_yn, rmks, cid, cdt, mid, mdt) FROM stdin;
|
|
B260001 1 2026-01-14 BSV01 1 10000 500 10500 5000000.00 0.00 5000000.00 500000.00 5500000.00 2026-12-31 N test m24031 2026-01-14 18:48:27.938147 m24031 2026-01-14 18:48:27.938147
|
|
sdisdi 2 2026-01-28 BSV01 3 0 100 100 5000000.00 10.00 13500000.00 1350000.00 14850000.00 \N N ADMIN 2026-01-29 14:02:04.478554 ADMIN 2026-01-29 16:57:37.297659
|
|
sdisdi 1 2026-01-28 실버 2 0 0 0 5000000.00 10.00 9000000.00 900000.00 9900000.00 \N N ADMIN 2026-01-29 13:20:06.016857 ADMIN 2026-01-29 16:57:37.297659
|
|
sdisdi 4 2026-01-28 BSV01 1 10000 0 10000 5000000.00 5.00 5000000.00 500000.00 5500000.00 2026-12-31 N ADMIN 2026-01-29 16:57:37.297659 ADMIN 2026-01-29 16:57:37.297659
|
|
B260001 4 2026-01-16 DDA01 2 10000 0 10000 10000000.00 20.00 8000000.00 800000.00 8800000.00 2026-01-29 Y test1 ADMIN 2026-01-19 09:29:15.302285 ADMIN 2026-01-19 09:29:26.957085
|
|
B260001 6 2026-01-19 DDA01 2 100000 0 100000 10000000.00 25.00 15000000.00 1500000.00 16500000.00 2026-01-29 Y ADMIN 2026-01-19 09:53:04.703453 ADMIN 2026-01-19 11:18:22.708297
|
|
B260001 5 2026-01-19 DDA01 4 10000 0 10000 10000000.00 10.00 36000000.00 3600000.00 39600000.00 2026-01-30 Y ADMIN 2026-01-19 09:33:44.805899 ADMIN 2026-01-19 11:18:22.708297
|
|
B260001 3 2026-01-16 DDA01 1 10000 0 10000 10000000.00 50.00 5000000.00 500000.00 5500000.00 2026-01-26 Y test ADMIN 2026-01-16 17:43:34.138282 ADMIN 2026-01-19 09:29:26.957085
|
|
B260001 2 2026-01-16 DDA01 1 10000 0 10000 10000000.00 10.00 9000000.00 900000.00 9900000.00 2026-01-29 Y test ADMIN 2026-01-16 17:29:57.797917 ADMIN 2026-01-19 09:29:26.957085
|
|
B260001 7 2026-01-19 BSV01 1 10000 0 10000 5000000.00 20.00 5000000.00 500000.00 5500000.00 2026-02-06 N ADMIN 2026-01-19 11:18:09.714842 ADMIN 2026-01-19 11:18:22.708297
|
|
sdisdi 5 2026-01-29 CGD01 2 20000 500 20500 10000000.00 25.00 15000000.00 1500000.00 16500000.00 2026-12-30 N ADMIN 2026-01-29 17:10:39.39493 ADMIN 2026-01-29 17:12:56.807569
|
|
sdisdi 3 2026-01-29 BSV01 1 10000 0 10000 5000000.00 5.00 4750000.00 475000.00 5225000.00 2026-12-31 N ADMIN 2026-01-29 15:31:42.295678 ADMIN 2026-01-29 17:12:56.807569
|
|
tester001 1 2025-04-12 BSV01 1 10000 \N 10000 5000000.00 0.00 5000000.00 500000.00 5500000.00 2025-12-31 Y \N \N \N \N \N
|
|
tester001 2 2026-01-01 BSV01 1 10000 300 10300 5000000.00 0.00 5000000.00 500000.00 5500000.00 2026-12-31 Y \N \N \N \N \N
|
|
tester001 3 2026-01-01 BSV01 1 10000 \N 10000 5000000.00 0.00 5000000.00 500000.00 5500000.00 2026-12-31 Y \N \N \N \N \N
|
|
tester001 4 2026-01-01 BSV01 1 10000 \N 10000 5000000.00 0.00 5000000.00 500000.00 5500000.00 2026-12-31 Y \N \N \N \N \N
|
|
sdi9429 1 2026-01-29 골드 1 20000 0 20000 10000000.00 0.00 10000000.00 1000000.00 11000000.00 \N Y ADMIN 2026-01-29 13:05:15.730538 ADMIN 2026-01-29 13:14:38.877759
|
|
sdisdi 6 2026-01-29 ZET01 3000 1 0 1 0.00 0.00 0.00 0.00 0.00 2026-12-31 N ADMIN 2026-01-29 17:12:56.807569 ADMIN 2026-01-29 17:12:56.807569
|
|
am24031 1 2026-01-30 A0000 1 3000 0 3000 0.00 0.00 0.00 0.00 0.00 2026-12-31 Y 최초 가입 제공 am24031 2026-01-30 13:25:57.005379 am24031 2026-01-30 13:25:57.005379
|
|
\.
|
|
|
|
|
|
--
|
|
-- TOC entry 5028 (class 0 OID 16522)
|
|
-- Dependencies: 227
|
|
-- Data for Name: code_detail; Type: TABLE DATA; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COPY kngil.code_detail (main_cd, sub_cd, sub_nm, base_cd, use_yn, sort_sq, rmks, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10) FROM stdin;
|
|
BS100 300 메인 BS100300 Y 3 \N 1 \N \N \N \N \N \N \N \N \N
|
|
BS110 100 오름차순 BS110100 Y 1 \N \N \N \N \N \N \N \N \N \N \N
|
|
BS110 200 정의 BS110200 Y 2 \N \N \N \N \N \N \N \N \N \N \N
|
|
BS200 100 코드1 BS200100 Y 1 \N \N \N \N \N \N \N \N \N \N \N
|
|
BS200 200 코드2 BS200200 Y 2 \N \N \N \N \N \N \N \N \N \N \N
|
|
BS210 Y Y BS210Y Y 1 \N \N \N \N \N \N \N \N \N \N \N
|
|
BS210 N N BS210N Y 2 \N \N \N \N \N \N \N \N \N \N \N
|
|
BS220 1 사용 BS2201 Y 1 \N \N \N \N \N \N \N \N \N \N \N
|
|
BS220 0 미사용 BS2200 Y 2 \N \N \N \N \N \N \N \N \N \N \N
|
|
SA100 100 사용 SA100100 Y 1 \N \N \N \N \N \N \N \N \N \N \N
|
|
SA100 200 미사용 SA100200 Y 2 \N \N \N \N \N \N \N \N \N \N \N
|
|
BS100 100 개발자 BS100100 Y 1 \N \N 1 \N \N \N \N \N \N \N \N
|
|
BS100 200 관리자 BS100200 Y 2 \N \N 1 \N \N \N \N \N \N \N \N
|
|
BS100 400 서브 BS100400 Y 4 \N 1 \N \N \N \N \N \N \N \N \N
|
|
BS100 500 일반 BS100500 Y 5 \N 1 \N \N \N \N \N \N \N \N \N
|
|
SA150 200 개인 SA150200 Y 2 \N \N \N \N \N \N \N \N \N \N \N
|
|
SA150 100 기업 SA150100 Y 1 \N \N \N \N \N \N \N \N \N \N \N
|
|
SA200 100 상하수도 기초현황 보고서 SA200100 Y 1 \N \N \N \N \N \N \N \N \N \N \N
|
|
SA200 200 도시계획 기초현황 보고서 SA200200 Y 2 \N \N \N \N \N \N \N \N \N \N \N
|
|
SA200 300 기초현황 DATA 파일 SA200300 Y 3 \N \N \N \N \N \N \N \N \N \N \N
|
|
\.
|
|
|
|
|
|
--
|
|
-- TOC entry 5027 (class 0 OID 16497)
|
|
-- Dependencies: 226
|
|
-- Data for Name: code_master; Type: TABLE DATA; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COPY kngil.code_master (main_cd, nain_nm, use_yn, use_bc, sort_bc, rmks, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) FROM stdin;
|
|
BS110 정렬기준 Y BS200100 BS110100 \N \N \N \N \N \N \N \N \N \N \N
|
|
BS200 사용구분\n Y BS200100 BS110100 \N \N \N \N \N \N \N \N \N \N \N
|
|
BS210 Y/N 구분 Y BS200200 BS110100 \N \N \N \N \N \N \N \N \N \N \N
|
|
BS220 사용여부 Y BS200200 BS110100 \N \N \N \N \N \N \N \N \N \N \N
|
|
SA100 회원상태 Y BS200100 BS110100 \N \N \N \N \N \N \N \N \N \N \N
|
|
SA200 서비스구분 Y BS200100 BS110100 \N \N \N \N \N \N \N \N \N \N \N
|
|
BS100 권한관리 Y BS200100 BS110100 \N 사용자 관리자 \N \N \N \N \N \N \N \N
|
|
SA150 법인구분 Y BS200100 BS110200 \N \N \N \N \N \N \N \N \N \N \N
|
|
\.
|
|
|
|
|
|
--
|
|
-- TOC entry 5036 (class 0 OID 16671)
|
|
-- Dependencies: 235
|
|
-- Data for Name: fa_comments; Type: TABLE DATA; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COPY kngil.fa_comments (fa_id, fa_subject, fa_content, sq_no, use_yn, cid, cdt, mid, mdt) FROM stdin;
|
|
3 계정은 어떻게 생성하나요? 회원가입 메뉴를 통해 계정을 생성할 수 있습니다. 2 Y \N \N \N \N
|
|
1 KNGIL은 어떤 서비스인가요? KNGIL은 교량 BIM 기반 설계·관리 플랫폼입니다. hahaha 1 Y \N \N \N \N
|
|
13 이것은질문 이것은<br>답글 0 Y m24031 2026-01-29 14:12:20.625501+09 m24031 2026-01-29 14:26:04.837518+09
|
|
14 ㅇㅇㅇㅇ343 ㅇㅁㅇㄹㅇㅇㄹㅇㄹㅇㄹ 0 Y m24031 2026-02-02 11:22:02.315133+09 m24031 2026-02-02 11:22:07.740956+09
|
|
\.
|
|
|
|
|
|
--
|
|
-- TOC entry 5022 (class 0 OID 16427)
|
|
-- Dependencies: 221
|
|
-- Data for Name: item; Type: TABLE DATA; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COPY kngil.item (itm_cd, itm_nm, area, itm_amt, use_yn, rmks, cid, cdt, mid, mdt) FROM stdin;
|
|
CGD01 골드 20000 10000000.00 Y test m24031 2026-01-14 17:55:27.062562 m24031 2026-01-14 17:55:27.062562
|
|
ZET01 서비스 1 0.00 Y test m24031 2026-01-14 17:56:47.427489 m24031 2026-01-14 17:56:47.427489
|
|
BSV01 실버 10000 5000000.00 Y test m24031 2026-01-14 17:54:53.937187 m24031 2026-01-14 17:58:17.831158
|
|
BBBB TEST23 4 2.00 Y m24031 2026-01-23 14:28:12.793976 m24031 2026-01-23 15:23:19.231161
|
|
DDA01 다이아 30000 30000000.00 Y testㅇㅇㅇ m24031 2026-01-14 17:56:22.996253 m24031 2026-01-29 13:50:16.978103
|
|
A0000 회원가입 제공 3000 0.00 Y m24031 2026-01-30 10:01:26.15998 m24031 2026-01-30 10:01:26.15998
|
|
\.
|
|
|
|
|
|
--
|
|
-- TOC entry 5026 (class 0 OID 16484)
|
|
-- Dependencies: 225
|
|
-- Data for Name: login_history; Type: TABLE DATA; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COPY kngil.login_history (user_id, sq_no, public_ip, local_ip, login_tm) FROM stdin;
|
|
\.
|
|
|
|
|
|
--
|
|
-- TOC entry 5021 (class 0 OID 16414)
|
|
-- Dependencies: 220
|
|
-- Data for Name: members; Type: TABLE DATA; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COPY kngil.members (member_id, member_nm, co_bc, bs_no, co_nm, co_tel, tel_no, email, join_dt, end_dt, buy_area, use_area, stat_bc, memo, cid, cdt, mid, mdt) FROM stdin;
|
|
b25027 김수현 CB100100 223-33-44445 한맥기술 \N 010-5645-5153 b25027@hanmaceng.co.kr 2026-01-29 \N \N \N SA100100 \N b25027 2026-01-29 11:25:14.184682 b24014 2026-01-29 16:21:12.842875
|
|
B260001 바론 관리자 SA150100 222222222 바론 컨설턴트 \N 010-1111-1111 sdi@sdi.com 2026-01-01 \N 140000 1200 SA100100 \N \N \N SYSTEM 2026-01-21 15:45:40.131991
|
|
tester001 테스터10 SA150100 \N 기업1 \N 010-1111-1111 111@gmail.com 2026-01-20 \N 3000 \N SA100100 \N m24031 2026-01-20 19:50:23.029203 \N \N
|
|
ctest004 c테스터33 SA150200 \N 기업3 \N 010-3333-3333 333@gmail.com 2026-01-20 \N 1000 \N SA100100 \N m24031 2026-01-20 19:57:42.806965 \N \N
|
|
sdi9429 송대일 CB100100 \N 바론 \N 010-8627-0921 sdi9429@naver.com 2026-01-22 \N 1000 \N SA100100 \N sdi9429 2026-01-22 12:56:43.651431 \N \N
|
|
tester003 테스터33 SA150200 222222222 기업3 \N 010-3333-3333 333@gmail.com 2026-01-20 \N 2000 \N SA100100 \N m24031 2026-01-20 19:52:19.322838 m24031 2026-01-23 16:50:12.264163
|
|
tester002 테스터10 SA150100 222222 기업1 \N 010-1111-1111 111@gmail.com 2026-01-20 \N 2000 \N SA100100 \N m24031 2026-01-20 19:51:18.809202 m24031 2026-01-27 10:44:31.258757
|
|
sdisdi 송대일 CB100100 \N 바론11 \N 010-8627-0923 sdi9429@naver.com 2026-01-22 \N 0 \N SA100100 \N sdisdi 2026-01-22 13:12:29.376769 m24031 2026-01-27 10:44:47.776389
|
|
Km24031 권오재 CB100100 \N 한맥기술 \N 010-9114-3944 koj111@naver.com 2026-01-30 \N \N \N SA100100 \N Km24031 2026-01-30 09:02:15.195496 \N \N
|
|
am24031 권오재A CB100100 \N 한맥 \N 010-2222-2222 ddd@gmail.com 2026-01-30 \N 3000 \N SA100100 \N am24031 2026-01-30 13:25:57.005379 \N \N
|
|
\.
|
|
|
|
|
|
--
|
|
-- TOC entry 5029 (class 0 OID 16594)
|
|
-- Dependencies: 228
|
|
-- Data for Name: qa_attachments; Type: TABLE DATA; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COPY kngil.qa_attachments (post_id, ori_name, save_path, file_size, uploaded_at, id) FROM stdin;
|
|
7 traffic_image.jpg /kngil/uploads/qa/1769509499_417330b6f49e.jpg 123753 2026-01-27 19:24:59.134487+09 1
|
|
8 traffic_image.jpg /kngil/uploads/qa/1769513369_959a050cb972.jpg 123753 2026-01-27 20:29:29.973998+09 2
|
|
\.
|
|
|
|
|
|
--
|
|
-- TOC entry 5035 (class 0 OID 16627)
|
|
-- Dependencies: 234
|
|
-- Data for Name: qa_comment_images; Type: TABLE DATA; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COPY kngil.qa_comment_images (id, comment_id, file_name, file_path, thumb_path, file_size, uploaded_at) FROM stdin;
|
|
1 2 og-main-thumb.JPG /kngil/uploads/comment/1769511961_dda23bd3.jpg /kngil/uploads/comment/1769511961_dda23bd3.jpg 112930 2026-01-27 20:06:01.050825+09
|
|
\.
|
|
|
|
|
|
--
|
|
-- TOC entry 5033 (class 0 OID 16618)
|
|
-- Dependencies: 232
|
|
-- Data for Name: qa_comments; Type: TABLE DATA; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COPY kngil.qa_comments (comment_id, post_id, commenter, content, cdt_dt, user_nm, mdt_dt) FROM stdin;
|
|
2 7 b24014 test 2026-01-27 20:06:01.050825+09 송대일1 \N
|
|
\.
|
|
|
|
|
|
--
|
|
-- TOC entry 5031 (class 0 OID 16603)
|
|
-- Dependencies: 230
|
|
-- Data for Name: qa_posts; Type: TABLE DATA; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COPY kngil.qa_posts (post_id, tel_no, user_id, user_nm, category, co_nm, dept_nm, title, content, attachment, stat_bc, complete_form, cdt_dt, mid_dt, is_secret, is_read_admin) FROM stdin;
|
|
7 \N b24014 송대일1 오류문의 \N \N 테스트 <p>1234</p> \N review 0 2026-01-27 19:24:59.131617+09 2026-01-27 20:14:21.993651+09 0 Y
|
|
8 \N b24014 송대일1 오류문의 \N \N 첨부파일 업로드 <p>123</p> \N deep 0 2026-01-27 20:29:29.970856+09 2026-01-27 20:32:21.107049+09 0 Y
|
|
10 010-8627-0921 b24014 송대일1 오류문의 바론 컨설턴트 총괄기획실 test <p>1qasdweqwe</p> \N review 0 2026-01-28 10:43:24.655249+09 2026-01-28 11:00:56.361487+09 Y Y
|
|
1 오류문의 1111 <p>3333</p> \N wait 0 2026-01-27 14:09:56.639903+09 \N Y 0
|
|
2 \N b24014 송대일1 오류문의 \N \N 1234 <p>3333</p> \N wait 0 2026-01-27 15:56:13.097696+09 \N 0 N
|
|
5 \N b24014 송대일1 오류문의 \N \N 123 <p>456</p> \N wait 0 2026-01-27 16:40:55.238147+09 \N 0 N
|
|
9 \N b24014 송대일1 오류문의 \N \N 최종테스트 <p>11111333</p> \N wait 0 2026-01-28 10:09:07.943555+09 \N 0 Y
|
|
6 \N b24014 송대일1 오류문의 \N \N 첨부파일 업로드 <p>123</p> \N wait 0 2026-01-27 19:17:08.118218+09 \N 0 Y
|
|
4 \N b24014 송대일1 개선문의 \N \N tests <p>tests</p> \N wait 0 2026-01-27 16:00:43.415892+09 \N 0 Y
|
|
12 010-8627-0921 b24014 송대일1 일반문의 바론 컨설턴트 총괄기획실 테스트 작성글 <p>ㅅㅅㅅㅅㅅㅅㅅ</p> \N wait 0 2026-01-30 16:10:49.845849+09 2026-02-02 09:32:40.063076+09 N Y
|
|
11 010-8627-0921 b24014 송대일1 오류문의 바론 컨설턴트 총괄기획실 1111 <p>3123123</p> \N wait 0 2026-01-30 16:10:30.821517+09 2026-02-02 09:32:54.632593+09 N Y
|
|
13 010-8627-0921 b24014 송대일1 오류문의 바론 컨설턴트 총괄기획실 테스트 중입니다 <p>3333444</p> \N wait 0 2026-02-02 09:33:22.636799+09 \N N Y
|
|
14 010-8627-0921 b24014 송대일1 공지사항 바론 컨설턴트 총괄기획실 공지 테스트 <p>1234</p> \N wait 0 2026-02-02 09:40:50.464071+09 \N N Y
|
|
\.
|
|
|
|
|
|
--
|
|
-- TOC entry 5025 (class 0 OID 16471)
|
|
-- Dependencies: 224
|
|
-- Data for Name: use_history; Type: TABLE DATA; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COPY kngil.use_history (user_id, sq_no, use_dt, use_area, ser_bc, cid, cdt, mid, mdt) FROM stdin;
|
|
m24031 1 2026-01-18 100 SA200100 \N \N \N \N
|
|
test001 1 2026-01-18 200 SA200100 \N \N \N \N
|
|
test001 2 2026-01-19 200 SA200100 \N \N \N \N
|
|
m24031 2 2026-01-19 200 SA200300 \N \N \N \N
|
|
m24031 3 2026-01-19 300 SA200200 \N \N \N \N
|
|
m24031 4 2026-01-19 100 SA200300 \N \N \N \N
|
|
m24031 5 2026-01-19 20000 SA200300 \N \N \N \N
|
|
m24031 6 2026-01-19 1000 SA200200 \N \N \N \N
|
|
m24031 7 2025-01-19 20000 SA200100 \N \N \N \N
|
|
\.
|
|
|
|
|
|
--
|
|
-- TOC entry 5023 (class 0 OID 16433)
|
|
-- Dependencies: 222
|
|
-- Data for Name: users; Type: TABLE DATA; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
COPY kngil.users (member_id, user_id, user_pw, user_nm, dept_nm, posit_nm, tel_no, email, auth_bc, use_yn, rmks, cid, cdt, mid, mdt, oidc_sub) FROM stdin;
|
|
B260001 test003 test003 테스터3 기술개발센터 수석연구원 010-1111-3333 test@test.com BS100400 N test 입니다. m24031 2026-01-14 18:39:43.030024 m24031 2026-01-14 18:42:22.488198 \N
|
|
sdisdi song12124 test1234!!@ 테스터4 erp 1012346770 test@test.co.kr BS100500 Y song12124 2026-01-30 11:12:14.172743 song12124 2026-01-30 11:12:14.172743 \N
|
|
tester002 tester002 tester002 류호성 전산실 \N 010-3371-5649 111@gmail.com BS100100 Y \N m24031 2026-01-20 19:51:18.809202 m24031 2026-01-27 10:44:31.258757 \N
|
|
sdisdi song12125 test1234!!@ 테스터5 erp 1012346771 test@test.co.kr BS100500 Y song12125 2026-01-30 11:12:14.184522 song12125 2026-01-30 11:12:14.184522 \N
|
|
ctest004 ctest004 ctest004 권오재2 전산실 \N 010-9114-3943 333@gmail.com BS100300 N \N m24031 2026-01-20 19:57:42.806965 \N \N \N
|
|
B260001 sdi1108 sdi1108 어드민 ERP팀ㅁ 010-1111-1112 test@test1.com BS100400 Y \N 2026-01-15 20:08:48.731648 m24031 2026-01-29 13:29:52.388359 \N
|
|
sdisdi song12126 test1234!!@ 테스터6 erp 1012346772 test@test.co.kr BS100500 Y song12126 2026-01-30 11:18:04.916446 song12126 2026-01-30 11:18:04.916446 \N
|
|
sdisdi song12127 test1234!!@ 테스터7 erp 1012346773 test@test.co.kr BS100500 Y song12127 2026-01-30 11:18:04.921195 song12127 2026-01-30 11:18:04.921195 \N
|
|
sdisdi song12128 test1234!!@ 테스터8 erp 1012346774 test@test.co.kr BS100500 Y song12128 2026-01-30 12:53:06.276828 song12128 2026-01-30 12:53:06.276828 \N
|
|
sdisdi song12129 test1234!!@ 테스터9 erp 1012346775 test@test.co.kr BS100500 Y song12129 2026-01-30 12:53:06.284774 song12129 2026-01-30 12:53:06.284774 \N
|
|
sdisdi song12130 test1234!!@ 테스터10 erp 1012346776 test@test.co.kr BS100500 Y song12130 2026-01-30 13:01:11.566978 song12130 2026-01-30 13:01:11.566978 \N
|
|
sdisdi song12131 test1234!!@ 테스터11 erp 1012346777 test@test.co.kr BS100500 Y song12131 2026-01-30 13:01:11.57227 song12131 2026-01-30 13:01:11.57227 \N
|
|
am24031 am24031 !rnjsdhwo729 권오재A ERP 기획 \N 010-2222-2222 ddd@gmail.com BS100300 Y \N am24031 2026-01-30 13:25:57.005379 \N \N \N
|
|
b25027 b25027 a1357125!@23 김수현 디자인기획팀 \N 010-5645-5153 b25027@hanmaceng.co.kr BS100300 Y \N b25027 2026-01-29 11:25:14.184682 b24014 2026-01-29 16:21:12.842875 \N
|
|
B260001 test005 b23008 염승호 총괄기획실 수석 연구원 010-8835-0501 df BS100100 Y m24031 2026-01-29 13:30:30.456963 m24031 2026-01-29 13:30:30.456963 \N
|
|
B260001 test002 test002 테스터2 기술개발센터 010-1111-2222 test@test.com BS100400 Y m24031 2026-01-14 18:39:03.432801 m24031 2026-01-29 20:31:27.681975 \N
|
|
tester003 btest001 btest001 테스터33 도로부 BS100500 Y test m24031 2026-01-20 19:56:32.467743 m24031 2026-01-20 19:56:32.467743 \N
|
|
tester003 btest002 btest002 b테스터22 도로부 BS100500 Y test m24031 2026-01-20 19:56:48.750462 m24031 2026-01-20 19:56:48.750462 \N
|
|
B260001 m24031 m24031 권오재 총괄기획실 선임 연구원 010-9114-3943 m24031@hanmaceng.co.kr BS100100 Y \N \N \N \N \N \N
|
|
Km24031 Km24031 !rnjsdhwo729 권오재 ERP기획팀 \N 010-9114-3944 koj111@naver.com BS100300 Y \N Km24031 2026-01-30 09:02:15.195496 \N \N \N
|
|
sdi9429 sdi9429 test1111 송대일 총괄기획실 \N 010-8627-0922 sdi9429@naver.com BS100300 Y \N sdi9429 2026-01-22 12:56:43.651431 \N \N \N
|
|
B260001 b24014 test001 송대일1 총괄기획실 010-8627-0921 b24014@hanmaceng.co.kr\n BS100100 Y 123 \N \N SYSTEM 2026-01-19 16:44:25.814475 \N
|
|
tester003 tester003 test001 테스터33 전산실 \N 010-3333-3333 333@gmail.com BS100300 Y \N m24031 2026-01-20 19:52:19.322838 m24031 2026-01-23 16:50:12.264163 \N
|
|
B260001 test001 test001 회사관리자 총괄기획실1 010-3189-1514 sdi1111@sdi.com BS100300 Y 권한위임[sdi1108] \N \N m24031 2026-01-22 17:11:58.275998 \N
|
|
B260001 test0005 test0005 테스트55 총괄기획실1 010-4158-5840 b24000@hanmaceng.co.kr BS100400 Y 비고 입력 테스트 SYSTEM 2026-01-19 19:39:10.476205 SYSTEM 2026-01-19 19:39:10.476205 \N
|
|
tester001 tester001 test001 테스터10 전산실 \N 010-9523-0055 111@gmail.com BS100300 Y \N m24031 2026-01-20 19:50:23.029203 \N \N \N
|
|
sdisdi sdisdi song1108! 송대일 총괄기획실 \N 010-8627-0923 sdi9429@naver.com BS100300 Y \N sdisdi 2026-01-22 13:12:29.376769 m24031 2026-01-27 10:44:47.776389 \N
|
|
sdisdi song1212 test1234!!@ 테스터 erp 01012345689 test@test.co.kr BS100500 N song1212 2026-01-30 09:58:45.274688 sdisdi 2026-01-30 10:02:41.963234 \N
|
|
sdisdi song12121 test1234!!@ 테스터1 erp 1012346767 test@test.co.kr BS100400 N song12121 2026-01-30 10:05:59.726345 song12121 2026-01-30 10:05:59.726345 \N
|
|
sdisdi song12122 test1234!!@ 테스터2 erp 1012346768 test@test.co.kr BS100500 Y song12122 2026-01-30 10:46:04.719717 song12122 2026-01-30 10:46:04.719717 \N
|
|
sdisdi song12123 test1234!!@ 테스터3 erp 1012346769 test@test.co.kr BS100500 Y song12123 2026-01-30 10:46:04.729306 song12123 2026-01-30 10:46:04.729306 \N
|
|
B260001 sdi111 000000 test123 ert33 010-8623-6564 test@test.com BS100500 Y b24014 2026-01-30 13:02:45.327993 b24014 2026-01-30 14:08:03.710466 \N
|
|
B260001 sdisssss 1234asd!! test1232 erpp 010-8686-2323 test@test.com BS100500 Y b24014 2026-01-30 13:40:50.09753 b24014 2026-01-30 14:08:14.578146 \N
|
|
B260001 test1010 test1010 test12 erp 010-8888-2222 test@test1.co.kr BS100500 Y b24014 2026-01-30 13:56:43.807999 b24014 2026-01-30 14:18:12.484107 \N
|
|
am24031 kwon001 kwon001 권1 dd 010-1111-2111 kwon001 BS100500 Y kwon001 2026-01-30 16:05:35.819863 kwon001 2026-01-30 16:05:35.819863 \N
|
|
am24031 kwon002 kwon002 권2 aa 010-1111-2112 kwon002 BS100500 Y kwon002 2026-01-30 16:05:35.846448 kwon002 2026-01-30 16:05:35.846448 \N
|
|
\.
|
|
|
|
|
|
--
|
|
-- TOC entry 5058 (class 0 OID 0)
|
|
-- Dependencies: 236
|
|
-- Name: fa_comments_fa_id_seq; Type: SEQUENCE SET; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
SELECT pg_catalog.setval('kngil.fa_comments_fa_id_seq', 14, true);
|
|
|
|
|
|
--
|
|
-- TOC entry 5059 (class 0 OID 0)
|
|
-- Dependencies: 237
|
|
-- Name: qa_attachments_id_seq; Type: SEQUENCE SET; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
SELECT pg_catalog.setval('kngil.qa_attachments_id_seq', 2, true);
|
|
|
|
|
|
--
|
|
-- TOC entry 5060 (class 0 OID 0)
|
|
-- Dependencies: 233
|
|
-- Name: qa_comment_images_id_seq; Type: SEQUENCE SET; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
SELECT pg_catalog.setval('kngil.qa_comment_images_id_seq', 1, true);
|
|
|
|
|
|
--
|
|
-- TOC entry 5061 (class 0 OID 0)
|
|
-- Dependencies: 231
|
|
-- Name: qa_comments_comment_id_seq; Type: SEQUENCE SET; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
SELECT pg_catalog.setval('kngil.qa_comments_comment_id_seq', 2, true);
|
|
|
|
|
|
--
|
|
-- TOC entry 5062 (class 0 OID 0)
|
|
-- Dependencies: 229
|
|
-- Name: qa_posts_post_id_seq; Type: SEQUENCE SET; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
SELECT pg_catalog.setval('kngil.qa_posts_post_id_seq', 14, true);
|
|
|
|
|
|
--
|
|
-- TOC entry 4867 (class 2606 OID 16678)
|
|
-- Name: fa_comments fa_comments_pkey; Type: CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.fa_comments
|
|
ADD CONSTRAINT fa_comments_pkey PRIMARY KEY (fa_id);
|
|
|
|
|
|
--
|
|
-- TOC entry 4855 (class 2606 OID 16643)
|
|
-- Name: login_history login_history_pkey; Type: CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.login_history
|
|
ADD CONSTRAINT login_history_pkey PRIMARY KEY (user_id, sq_no);
|
|
|
|
|
|
--
|
|
-- TOC entry 4851 (class 2606 OID 16460)
|
|
-- Name: buy_item pk_buy_item; Type: CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.buy_item
|
|
ADD CONSTRAINT pk_buy_item PRIMARY KEY (member_id, sq_no);
|
|
|
|
|
|
--
|
|
-- TOC entry 4859 (class 2606 OID 16532)
|
|
-- Name: code_detail pk_code_detail; Type: CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.code_detail
|
|
ADD CONSTRAINT pk_code_detail PRIMARY KEY (main_cd, sub_cd);
|
|
|
|
|
|
--
|
|
-- TOC entry 4857 (class 2606 OID 16504)
|
|
-- Name: code_master pk_code_master; Type: CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.code_master
|
|
ADD CONSTRAINT pk_code_master PRIMARY KEY (main_cd);
|
|
|
|
|
|
--
|
|
-- TOC entry 4845 (class 2606 OID 16555)
|
|
-- Name: item pk_item; Type: CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.item
|
|
ADD CONSTRAINT pk_item PRIMARY KEY (itm_cd);
|
|
|
|
|
|
--
|
|
-- TOC entry 4843 (class 2606 OID 16426)
|
|
-- Name: members pk_members; Type: CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.members
|
|
ADD CONSTRAINT pk_members PRIMARY KEY (member_id);
|
|
|
|
|
|
--
|
|
-- TOC entry 4861 (class 2606 OID 16690)
|
|
-- Name: qa_attachments qa_attachments_pkey; Type: CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.qa_attachments
|
|
ADD CONSTRAINT qa_attachments_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- TOC entry 4865 (class 2606 OID 16625)
|
|
-- Name: qa_comments qa_comments_pkey; Type: CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.qa_comments
|
|
ADD CONSTRAINT qa_comments_pkey PRIMARY KEY (comment_id);
|
|
|
|
|
|
--
|
|
-- TOC entry 4863 (class 2606 OID 16616)
|
|
-- Name: qa_posts qa_posts_pkey; Type: CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.qa_posts
|
|
ADD CONSTRAINT qa_posts_pkey PRIMARY KEY (post_id);
|
|
|
|
|
|
--
|
|
-- TOC entry 4853 (class 2606 OID 16641)
|
|
-- Name: use_history use_history_pkey; Type: CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.use_history
|
|
ADD CONSTRAINT use_history_pkey PRIMARY KEY (user_id, sq_no);
|
|
|
|
|
|
--
|
|
-- TOC entry 4847 (class 2606 OID 16721)
|
|
-- Name: users users_oidc_sub_key; Type: CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.users
|
|
ADD CONSTRAINT users_oidc_sub_key UNIQUE (oidc_sub);
|
|
|
|
|
|
--
|
|
-- TOC entry 4849 (class 2606 OID 16645)
|
|
-- Name: users users_pkey; Type: CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.users
|
|
ADD CONSTRAINT users_pkey PRIMARY KEY (user_id);
|
|
|
|
|
|
--
|
|
-- TOC entry 4873 (class 2620 OID 16705)
|
|
-- Name: buy_item trg_buy_item_changed; Type: TRIGGER; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
CREATE TRIGGER trg_buy_item_changed AFTER INSERT OR DELETE OR UPDATE ON kngil.buy_item FOR EACH ROW EXECUTE FUNCTION kngil.fn_update_buy_area();
|
|
|
|
|
|
--
|
|
-- TOC entry 4872 (class 2606 OID 16533)
|
|
-- Name: code_detail fk_code_master_to_code_detail; Type: FK CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.code_detail
|
|
ADD CONSTRAINT fk_code_master_to_code_detail FOREIGN KEY (main_cd) REFERENCES kngil.code_master(main_cd) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- TOC entry 4868 (class 2606 OID 16656)
|
|
-- Name: users fk_member_to_user; Type: FK CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.users
|
|
ADD CONSTRAINT fk_member_to_user FOREIGN KEY (member_id) REFERENCES kngil.members(member_id) NOT VALID;
|
|
|
|
|
|
--
|
|
-- TOC entry 4869 (class 2606 OID 16461)
|
|
-- Name: buy_item fk_members_to_buy_item; Type: FK CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.buy_item
|
|
ADD CONSTRAINT fk_members_to_buy_item FOREIGN KEY (member_id) REFERENCES kngil.members(member_id);
|
|
|
|
|
|
--
|
|
-- TOC entry 4871 (class 2606 OID 16651)
|
|
-- Name: login_history fk_user_to_login_history; Type: FK CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.login_history
|
|
ADD CONSTRAINT fk_user_to_login_history FOREIGN KEY (user_id) REFERENCES kngil.users(user_id) NOT VALID;
|
|
|
|
|
|
--
|
|
-- TOC entry 4870 (class 2606 OID 16646)
|
|
-- Name: use_history fk_user_to_use_history; Type: FK CONSTRAINT; Schema: kngil; Owner: postgres
|
|
--
|
|
|
|
ALTER TABLE ONLY kngil.use_history
|
|
ADD CONSTRAINT fk_user_to_use_history FOREIGN KEY (user_id) REFERENCES kngil.users(user_id) NOT VALID;
|
|
|
|
|
|
-- Completed on 2026-02-02 14:06:04
|
|
|
|
--
|
|
-- PostgreSQL database dump complete
|
|
--
|
|
|
|
\unrestrict osPaC8Gqjay0KBMwX4hwgDvmjwF5rTGmBMzQBdxAne3SBCLMuCNQu2Xg15dPVeb
|
|
|