반응형

 

 

 

 

 

-- t_employee 테이블에 새로운 직원 정보를 삽입하는 쿼리
INSERT INTO t_employee (
    employee_id, employee_pass, employee_name, employee_tel, 
    employee_phone, employee_deptseq, employee_positionseq, 
    regdate, deleteyn
) VALUES (
    -- employee_id: 색상명 + 동물명 + (30% 확률로) 랜덤 숫자로 구성된 소문자 ID 생성
    LOWER(CONCAT(
        (ARRAY['blue','red','green','yellow','black','white','purple','orange','pink','brown'])[floor(random()*10+1)],
        (ARRAY['cat','dog','bird','fish','lion','tiger','bear','wolf','fox','deer'])[floor(random()*10+1)],
        CASE WHEN random() < 0.3 THEN floor(random()*100)::text ELSE '' END
    )),
    
    -- employee_pass: 'pass_' 접두사와 5자리 랜덤 숫자로 구성된 비밀번호 생성
    CONCAT('pass_', LPAD(floor(random()*100000)::text, 5, '0')),
    
    -- employee_name: 랜덤 성씨 + 랜덤 이름 + 3자리 랜덤 숫자로 구성
    CONCAT(
        (ARRAY['김','이','박','최','정','강','조','윤','장','임'])[floor(random()*10+1)],
        (ARRAY['민준','서연','도윤','지우','예준','시우','주원','하은','지호','지유'])[floor(random()*10+1)],
        LPAD(floor(random()*1000)::text, 3, '0')  -- 이름 뒤에 000부터 999까지의 랜덤 숫자 추가
    ),
    
    -- employee_tel: 70% 확률로 서울 전화번호, 30% 확률로 기타 지역 전화번호 생성
    CASE 
        WHEN random() < 0.7 THEN CONCAT('02-', LPAD(floor(random()*4000+1000)::text, 4, '0'), '-', LPAD(floor(random()*9000+1000)::text, 4, '0'))
        ELSE CONCAT('0', floor(random()*60+31)::text, '-', LPAD(floor(random()*900+100)::text, 3, '0'), '-', LPAD(floor(random()*9000+1000)::text, 4, '0'))
    END,
    
    -- employee_phone: 010으로 시작하는 랜덤 휴대폰 번호 생성
    CONCAT('010-', LPAD(floor(random()*9000+1000)::text, 4, '0'), '-', LPAD(floor(random()*9000+1000)::text, 4, '0')),
    
    -- employee_deptseq: 50% 확률로 11176 또는 11177 부서 배정
    CASE WHEN random() < 0.5 THEN 11176 ELSE 11177 END,
    
    -- employee_positionseq: 11179부터 11184까지의 랜덤 직급 배정
    floor(random()*6+11179),
    
    -- regdate: 현재 날짜로부터 최대 1년 전까지의 랜덤 날짜 생성
    CURRENT_DATE - (random() * 365 * INTERVAL '1 day')::interval,
    
    -- deleteyn: 5% 확률로 'Y', 95% 확률로 'N' 설정
    CASE WHEN random() < 0.05 THEN 'Y' ELSE 'N' END
);
반응형