Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

Everything has an expiration date

[Oracle] 20240319 [FinalProject 완료] - 작성한 SQL 파일 전체 (교육센터 수료일) 본문

카테고리 없음

[Oracle] 20240319 [FinalProject 완료] - 작성한 SQL 파일 전체 (교육센터 수료일)

Jelly-fish 2024. 3. 19. 15:21
finalProject_scott_1.sql
  CREATE TABLE "MEMBER" (
	"MEM_CODE"	VARCHAR2(10)		NOT NULL,
	"ID"	VARCHAR2(20)		NULL,
	"PW"	VARCHAR2(20)		NULL,
	"NICKNAME"	VARCHAR2(20)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"MBTI_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "App_Opening" (
	"AP_CODE"	VARCHAR2(10)		NOT NULL,
	"TITLE"	VARCHAR2(100)		NULL,
	"SUMMARY"	VARCHAR2(5000)		NULL,
	"SDATE"	DATE	DEFAULT SYSDATE	NULL,
	"EDATE"	DATE		NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"KDATE"	DATE		NULL,
	"NUMBER"	NUMBER		NULL,
	"VIEW"	NUMBER		NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "CAREER" (
	"C_CODE"	VARCHAR2(10)		NOT NULL,
	"NAME"	VARCHAR2(50)		NULL,
	"KDATE"	DATE		NULL,
	"ISC_OPEN"	NUMBER		NULL,
	"SDATE"	DATE		NULL,
	"EDATE"	DATE		NULL,
	"MI_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "B_REPORT" (
	"BR_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"SUMMARY"	VARCHAR2(5000)		NULL,
	"TASK_CODE"	VARCHAR2(10)		NOT NULL,
	"BR_CODE2"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "OPEN_TAG" (
	"OT_CODE"	VARCHAR2(10)		NOT NULL,
	"PL_CODE"	VARCHAR2(10)		NOT NULL,
	"AP_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "PTAG_LIST" (
	"PL_CODE"	VARCHAR2(10)		NOT NULL,
	"NAME"	VARCHAR2(100)		NULL
);

CREATE TABLE "MEMBER_APPLY" (
	"MA_CODE"	VARCHAR2(10)		NOT NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"DDATE"	DATE		NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL,
	"RC_CODE"	VARCHAR2(10)		NOT NULL,
	"AR_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "AO_COMMENT" (
	"AC_CODE"	VARCHAR2(10)		NULL,
	"CONTENT"	VARCHAR2(5000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"AP_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "AO_REPLY2" (
	"A2_CODE"	VARCHAR2(10)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"CONTENT"	VARCHAR2(5000)		NULL,
	"AC_CODE"	VARCHAR2(10)		NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "MBTI" (
	"MBTI_CODE"	VARCHAR2(10)		NULL,
	"KMATE"	VARCHAR2(10)		NULL
);

CREATE TABLE "W_MEMBERLIST" (
	"WM_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"MA_CODEA"	VARCHAR2(10)		NOT NULL,
	"MA_CODEP"	VARCHAR2(10)		NOT NULL,
	"WR_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "W_REASON" (
	"WR_CODE"	VARCHAR2(10)		NOT NULL,
	"REASON"	VARCHAR2(100)		NULL,
	"PE_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "P_TARGET" (
	"PTG_CODE"	VARCHAR2(10)		NULL,
	"TARGET"	VARCHAR2(50)		NULL
);

CREATE TABLE "TECH_QnA" (
	"TQ_CODE"	VARCHAR2(10)		NOT NULL,
	"TITLE"	VARCHAR2(100)		NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"VIEW"	NUMBER	DEFAULT 0	NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "C_QnA" (
	"CQ_CODE"	VARCHAR2(10)		NOT NULL,
	"TITLE"	VARCHAR2(100)		NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"VIEW"	NUMBER		NULL,
	"R_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "PORTFOLIO" (
	"P_CODE"	VARCHAR2(10)		NOT NULL,
	"TITLE"	VARCHAR2(100)		NOT NULL,
	"CONTENT"	VARCHAR2(10000)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NOT NULL,
	"VIEW"	NUMBER	DEFAULT 0	NOT NULL,
	"MEMBER_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "CVOTE" (
	"V_CODE"	VARCHAR2(10)		NOT NULL,
	"TITLE"	VARCHAR2(1000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"CQ_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "TQ_COMMENT" (
	"TC_CODE"	VARCHAR(255)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"COMMENT"	VARCHAR2(5000)		NULL,
	"TQ_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "TQ_REPLY2" (
	"T2_CODE"	VARCHAR2(10)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"COMMENT"	VARCHAR2(5000)		NULL,
	"TC_CODE"	VARCHAR2(10)		NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "CQ_COMMENT" (
	"CQC_CODE"	VARCHAR2(10)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"COMMENT"	VARCHAR2(5000)		NULL,
	"CQ_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "CQ_REPLY2" (
	"CQ2_CODE"	VARCHAR2(10)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"COMMENT"	VARCHAR2(5000)		NULL,
	"CQC_CODE"	VARCHAR2(10)		NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "CVOTE_P" (
	"VP_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"VS_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "CVOTE_SEL" (
	"VS_CODE"	VARCHAR2(10)		NOT NULL,
	"CONTENT"	VARCHAR2(500)		NULL,
	"V_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "RESUME" (
	"R_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL,
	"P_CODE"	VARCHAR2(10)		NOT NULL,
	"INTRO"	VARCHAR2(1000)		NULL
);

CREATE TABLE "ST_LIST" (
	"SL_CODE"	VARCHAR2(10)		NULL,
	"NAME"	VARCHAR2(100)		NULL
);

CREATE TABLE "P_TAG" (
	"PT_CODE"	VARCHAR2(10)		NOT NULL,
	"P_CODE"	VARCHAR2(10)		NOT NULL,
	"PTL_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "P_COMMENT" (
	"PC_CODE"	VARCHAR2(10)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"CONTENT"	VARCHAR2(5000)		NULL,
	"P_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "P_REPLY2" (
	"P2_CODE"	VARCHAR2(10)		NULL,
	"KDATE"	DATE		NULL,
	"COMMENT"	VARCHAR2(5000)		NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL,
	"PC_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "ADDITIONAL_OPEN" (
	"AO_CODE"	VARCHAR2(10)		NOT NULL,
	"TITLE"	VARCHAR2(100)		NULL,
	"SUMMARY"	VARCHAR2(5000)		NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"VIEW"	NUMBER		NULL,
	"AP_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "SKIL_TAG" (
	"KT_CODE"	VARCHAR2(10)		NULL,
	"SL_CODE"	VARCHAR2(10)		NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "INQUIRY" (
	"IQ_CODE"	VARCHAR2(10)		NOT NULL,
	"TITLE"	VARCHAR2(1000)		NULL,
	"CONTENT"	VARCHAR2(5000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL,
	"IT_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "FAQ" (
	"FAQ_CODE"	VARCHAR2(10)		NOT NULL,
	"TILTE"	VARCHAR2(100)		NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "PROTEST" (
	"PROTEST_CODE"	VARCHAR2(10)		NOT NULL,
	"TITLE"	VARCHAR2(100)		NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"KDATE"	DATE		NULL
);

CREATE TABLE "INQUIRY_TYPE" (
	"IT_CODE"	VARCHAR2(10)		NULL,
	"TYPE"	VARCHAR2(100)		NULL
);

CREATE TABLE "I_REPLY" (
	"IR_CODE"	VARCHAR2(10)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"IQ_CODE"	VARCHAR2(10)		NOT NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "PROTEST_REPLY" (
	"PROC_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE		NULL,
	"CONTENT"	VARCHAR2(5000)		NULL,
	"PROTEST_CODE"	VARCHAR2(10)		NOT NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "MEM_INFO" (
	"MI_CODE"	VARCHAR2(10)		NOT NULL,
	"EMAIL"	VARCHAR2(50)		NULL,
	"BDAY"	DATE		NULL,
	"ISG_OPEN"	NUMBER		NULL,
	"ISB_OPEN"	NUMBER		NULL,
	"ISE_OPEN"	NUMBER		NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL,
	"GENDER_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "P_REPORT" (
	"PR_CODE"	VARCHAR2(10)		NOT NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"P_CODE"	VARCHAR2(10)		NOT NULL,
	"RR_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "REPORT_REASON" (
	"RR_CODE"	VARCHAR2(10)		NOT NULL,
	"REASON"	VARCHAR2(100)		NULL
);

CREATE TABLE "PC_REPOERT" (
	"PCR_CODE"	VARCHAR(255)		NULL,
	"CONTENT"	VARCHAR2(5000)		NULL,
	"KDATE"	DATE		NULL,
	"PC_CODE"	VARCHAR2(10)		NULL,
	"RR_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "P2_REPORT" (
	"P2R_CODE"	VARCHAR2(10)		NULL,
	"CONTENT"	VARCHAR2(5000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"RR_CODE"	VARCHAR2(10)		NOT NULL,
	"P2_CODE"	VARCHAR2(10)		NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "CQ_REPORT" (
	"QR_CODE"	VARCHAR2(10)		NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"CQ_CODE"	VARCHAR2(10)		NOT NULL,
	"RR_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "TQ_REPORT" (
	"TQR_CODE"	VARCHAR2(10)		NULL,
	"CONTENT"	VARCHAR2(5000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"TQ_CODE"	VARCHAR2(10)		NOT NULL,
	"RR_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "CQC_REPORT" (
	"CR_CODE"	VARCHAR2(10)		NOT NULL,
	"CONTENT"	VARCHAR2(5000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"RR_CODE"	VARCHAR2(10)		NOT NULL,
	"CQC_CODE"	VARCHAR2(10)		NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "TQC_REPORT" (
	"QCR_CODE"	VARCHAR2(10)		NOT NULL,
	"CONTENT"	VARCHAR2(5000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"TC_CODE"	VARCHAR2(10)		NULL,
	"RR_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "TQ2_REPORT" (
	"Q2R_CODE"	VARCHAR2(10)		NOT NULL,
	"CONTENT"	VARCHAR2(5000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"T2_CODE"	VARCHAR2(10)		NULL,
	"RR_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "CQ2_REPORT" (
	"C2_CODE"	VARCHAR2(10)		NOT NULL,
	"CONTENT"	VARCHAR2(5000)		NULL,
	"KDATE"	DATE		NULL,
	"CQ2_CODE"	VARCHAR2(10)		NULL,
	"RR_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "ADMIN" (
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "P_REASON" (
	"PRE_CODE"	VARCHAR2(10)		NOT NULL,
	"REASON"	VARCHAR2(50)		NULL
);

CREATE TABLE "P_FILE" (
	"PF_CODE"	VARCHAR2(10)		NOT NULL,
	"PATH"	VARCHAR2(1000)		NULL,
	"P_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "CAREER_FILE" (
	"CF_CODE"	VARCHAR2(10)		NULL,
	"PATH"	VARCHAR2(1000)		NOT NULL,
	"CQ_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "TQ_FILE" (
	"TQF_CODE"	VARCHAR2(10)		NOT NULL,
	"PATH"	VARCHAR2(1000)		NULL,
	"TQ_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "CQnA_PIC" (
	"CQP_CODE"	VARCHAR2(10)		NOT NULL,
	"PATH"	VARCHAR2(1000)		NULL,
	"TQ_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "BR_FILE" (
	"BRF_CODE"	VARCHAR2(10)		NOT NULL,
	"PATH"	VARCHAR2(1000)		NULL,
	"BR_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "OPEN_PICTURE" (
	"OP_CODE"	VARCHAR2(10)		NOT NULL,
	"PATH"	VARCHAR2(1000)		NULL,
	"AP_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "TASK" (
	"TASK_CODE"	VARCHAR2(10)		NOT NULL,
	"TITLE"	VARCHAR2(100)		NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"SDATE"	DATE	DEFAULT SYSDATE	NULL,
	"EDATE"	DATE		NULL,
	"KDATE"	DATE		NULL,
	"MA_CODEA"	VARCHAR2(10)		NOT NULL,
	"MA_CODEP"	VARCHAR2(10)		NOT NULL,
	"DP_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "TASK_TAG" (
	"TT_CODE"	VARCHAR2(10)		NOT NULL,
	"TTL_CODE"	VARCHAR2(10)		NOT NULL,
	"TASK_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "TT_LIST" (
	"TTL_CODE"	VARCHAR2(10)		NOT NULL,
	"NAME"	VARCHAR2(100)		NULL
);

CREATE TABLE "AO_REPORT" (
	"AOR_CODE"	VARCHAR2(10)		NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"RR_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL,
	"AP_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "AOC_REPORT" (
	"ACR_CODE"	VARCHAR2(10)		NOT NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"RR_CODE"	VARCHAR2(10)		NOT NULL,
	"Field2"	VARCHAR2(10)		NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "AO2_REPORT" (
	"A2R_CODE"	VARCHAR2(10)		NOT NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"KDATE"	SYSDATE	DEFAULT SYSDATE	NULL,
	"RR_CODE"	VARCHAR2(10)		NOT NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL,
	"A2_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "OPENTAG_LIST" (
	"OL_CODE"	VARCHAR2(10)		NOT NULL,
	"NAME"	VARCHAR2(100)		NULL,
	"OT_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "D_VOTE" (
	"DV_CODE"	VARCHAR2(10)		NOT NULL,
	"SDATE"	DATE	DEFAULT SYSDATE	NULL,
	"CONTENT"	VARCHAR2(500)		NULL,
	"EDATE"	DATE		NULL,
	"CP_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "AG_LIST" (
	"AL_CODE"	VARCHAR2(10)		NOT NULL,
	"MA_CODE"	VARCHAR2(10)		NOT NULL,
	"DV_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "GENDER" (
	"GENDER_CODE"	VARCHAR2(10)		NOT NULL,
	"GENDER"	VARCHAR2(50)		NULL
);

CREATE TABLE "GRADE" (
	"GRADE_CODE"	VARCHAR2(10)		NOT NULL,
	"GRADE_NAME"	VARCHAR2(50)		NULL,
	"GRADE_MIN"	NUMBER		NULL,
	"GRADE_MAX"	NUMBER		NULL
);

CREATE TABLE "MEMBER_ROLE" (
	"MR_CODE"	VARCHAR2(10)		NOT NULL,
	"ROLE"	VARCHAR2(50)		NULL
);

CREATE TABLE "G_FILTER" (
	"GF_CODE"	VARCHAR2(10)		NOT NULL,
	"GRADE_CODE"	VARCHAR2(10)		NOT NULL,
	"MR_CODE"	VARCHAR2(10)		NOT NULL,
	"AP_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "S_FILTER" (
	"SF_CODE"	VARCHAR2(10)		NOT NULL,
	"GENDER_CODE"	VARCHAR2(10)		NOT NULL,
	"AP_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "A_FILTER" (
	"AF_CODE"	VARCHAR2(10)		NOT NULL,
	"AP_CODE"	VARCHAR2(10)		NOT NULL,
	"AA_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "MS_FILTER" (
	"MSF_CODE"	VARCHAR2(10)		NOT NULL,
	"MIN"	NUMBER		NULL,
	"AP_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "AGE_RANGE" (
	"AA_CODE"	VARCHAR2(10)		NOT NULL,
	"RANGE"	NUMBER		NULL
);

CREATE TABLE "ROLE_COMP" (
	"RC_CODE"	VARCHAR2(10)		NOT NULL,
	"RC_NUMBER"	NUMBER		NULL,
	"MR_CODE"	VARCHAR2(10)		NOT NULL,
	"AP_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "A_RESULT" (
	"AR_CODE"	VARCHAR2(10)		NOT NULL,
	"RESULT"	VARCHAR2(50)		NULL
);

CREATE TABLE "AO_PROCESS" (
	"Key"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"AOR_CODE"	VARCHAR2(10)		NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL,
	"PE_CODE"	VARCHAR2(10)		NOT NULL,
	"PRE_CODE"	VARCHAR2(10)		NOT NULL,
	"PTG_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "P_PROCESS" (
	"PP_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE		NULL,
	"PR_CODE"	VARCHAR2(10)		NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL,
	"PRE_CODE"	VARCHAR2(10)		NOT NULL,
	"PE_CODE"	VARCHAR2(10)		NOT NULL,
	"PTG_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "PC_PROCESS" (
	"PRR_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE		NULL,
	"PCR_CODE"	VARCHAR2(10)		NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL,
	"PRE_CODE"	VARCHAR2(10)		NOT NULL,
	"PE_CODE"	VARCHAR2(10)		NOT NULL,
	"Field3"	VARCHAR2(10)		NULL
);

CREATE TABLE "AOC_PROCESS" (
	"ACP_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL,
	"PRE_CODE"	VARCHAR2(10)		NOT NULL,
	"ACR_CODE"	VARCHAR2(10)		NOT NULL,
	"PE_CODE"	VARCHAR2(10)		NOT NULL,
	"PTG_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "AO2_PROCESS" (
	"A2P_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL,
	"PRE_CODE"	VARCHAR2(10)		NOT NULL,
	"A2R_CODE"	VARCHAR2(10)		NOT NULL,
	"PE_CODE"	VARCHAR2(10)		NOT NULL,
	"PTG_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "CQ2_PROCESS" (
	"Q2P_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE		NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL,
	"PRE_CODE"	VARCHAR2(10)		NOT NULL,
	"C2_CODE"	VARCHAR2(10)		NOT NULL,
	"PE_CODE"	VARCHAR2(10)		NOT NULL,
	"PTG_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "CQC_PROCESS" (
	"QCP_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL,
	"PRE_CODE"	VARCHAR2(10)		NOT NULL,
	"CR_CODE"	VARCHAR2(10)		NOT NULL,
	"PE_CODE"	VARCHAR2(10)		NOT NULL,
	"PTG_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "CQ_PROCESS" (
	"QPR_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL,
	"PRE_CODE"	VARCHAR2(10)		NOT NULL,
	"QR_CODE"	VARCHAR2(10)		NULL,
	"PE_CODE"	VARCHAR2(10)		NOT NULL,
	"PTG_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "TQ2_PROCESS" (
	"T2P_CDE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"Q2R_CODE"	VARCHAR2(10)		NOT NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL,
	"PRE_CODE"	VARCHAR2(10)		NOT NULL,
	"PE_CODE"	VARCHAR2(10)		NOT NULL,
	"PTG_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "TQC_PROCESS" (
	"TCP_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL,
	"PRE_CODE"	VARCHAR2(10)		NOT NULL,
	"QCR_CODE"	VARCHAR2(10)		NOT NULL,
	"PE_CODE"	VARCHAR2(10)		NOT NULL,
	"PTG_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "TQ_PROCESS" (
	"TQP_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL,
	"PRE_CODE"	VARCHAR2(10)		NOT NULL,
	"PE_CODE"	VARCHAR2(10)		NOT NULL,
	"PTG_CODE"	VARCHAR2(10)		NULL,
	"TQR_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "PENALTY" (
	"PE_CODE"	VARCHAR2(10)		NOT NULL,
	"NAME"	VARCHAR2(50)		NULL
);

CREATE TABLE "P2_PROCESS" (
	"P2P_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"P2R_CODE"	VARCHAR2(10)		NULL,
	"PRE_CODE"	VARCHAR2(10)		NOT NULL,
	"PE_CODE"	VARCHAR2(10)		NOT NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL,
	"PTG_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "CLOSE_MEMBER" (
	"CM_CODE"	VARCHAR2(10)		NOT NULL,
	"KMATE"	DATE	DEFAULT SYSDATE	NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "MILESTONE" (
	"MS_CODE"	VARCHAR2(10)		NOT NULL,
	"DP_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "STEP" (
	"ST_CODE"	VARCHAR2(10)		NOT NULL,
	"STEP"	VARCHAR2(50)		NULL
);

CREATE TABLE "CHECKLIST" (
	"CK_CODE"	VARCHAR2(10)		NOT NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"ST_CODE"	VARCHAR2(10)		NOT NULL,
	"MS_CODE"	VARCHAR2(10)		NOT NULL,
	"CC_CODE"	VARCHAR2(10)		NOT NULL,
	"MA_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "CHECKLIST_CHEK" (
	"CC_CODE"	VARCHAR2(10)		NOT NULL,
	"CHECK"	VARCHAR2(50)		NULL
);

CREATE TABLE "FINAL_REPORT" (
	"FR_CODE"	VARCHAR2(10)		NOT NULL,
	"TITLE"	VARCHAR2(100)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"CONTENT"	VARCHAR2(10000)		NULL
);

CREATE TABLE "FR_FILE" (
	"FRF_CODE"	VARCHAR2(10)		NOT NULL,
	"PATH"	VARCHAR2(1000)		NULL,
	"FR_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "ERD" (
	"ERD_CODE"	VARCHAR2(10)		NOT NULL,
	"PATH"	VARCHAR2(1000)		NULL,
	"FR_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "FLOWCHART" (
	"FC_CODE"	VARCHAR2(10)		NULL,
	"PATH"	VARCHAR2(1000)		NULL,
	"FR_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "TEAM_FEEDBACK" (
	"TF_CODE"	VARCHAR2(10)		NOT NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"MA_CODE"	VARCHAR2(10)		NOT NULL,
	"FR_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "EVALUATION" (
	"EV_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"SCORE"	NUMBER		NULL,
	"ED_CODE"	VARCHAR2(10)		NOT NULL,
	"MA_CODEA"	VARCHAR2(10)		NOT NULL,
	"MA_CODEP"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "EV_DEVISION" (
	"ED_CODE"	VARCHAR2(10)		NOT NULL,
	"DIVISION"	VARCHAR2(50)		NULL
);

CREATE TABLE "CAUTION" (
	"CT_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"TASK_CODE"	VARCHAR2(10)		NOT NULL,
	"MA_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "TEAM_REPORT" (
	"TR_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"MA_CODE"	VARCHAR2(10)		NOT NULL,
	"DP_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "D_LEADER" (
	"DL_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	SYSDATE		NULL,
	"MA_CODE"	VARCHAR2(10)		NOT NULL,
	"RE_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "C_PROJECT" (
	"CP_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"App_OpenCode"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "RELEASE" (
	"RE_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"TASK_CODE"	VARCHAR2(10)		NOT NULL,
	"DP_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "D_PROJECT" (
	"DP_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"CP_CODE"	VARCHAR2(10)		NOT NULL,
	"DR_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "D_REASON" (
	"DR_CODE"	VARCHAR2(10)		NOT NULL,
	"REASON"	VARCHAR2(100)		NULL
);

CREATE TABLE "TR_PROCESS" (
	"TP_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"TR_CODE"	VARCHAR2(10)		NOT NULL,
	"ADMIN_CODE"	VARCHAR2(10)		NOT NULL,
	"PRE_CODE"	VARCHAR2(10)		NOT NULL,
	"PE_CODE"	VARCHAR2(10)		NOT NULL,
	"PTG_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "TECH_UP" (
	"TU_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	SYSDATE		NULL,
	"TC_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "CAREER_UP" (
	"CU_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"CQC_CODE"	VARCHAR2(10)		NULL
);

CREATE TABLE "MINUTES" (
	"MN_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"TITLE"	VARCHAR2(100)		NULL,
	"CONTENT"	VARCHAR2(10000)		NULL,
	"MA_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "MI_COMMENT" (
	"MNC_CODE"	VARCHAR2(10)		NOT NULL,
	"COMMENT"	VARCHAR2(5000)		NULL,
	"KDATE"	DATE	DEFAULT SYSDATE	NULL,
	"MA_CODE"	VARCHAR2(10)		NOT NULL,
	"MN_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "BR_RESULT" (
	"BRR_CODE"	VARCHAR2(10)		NOT NULL,
	"KDATE"	DATE		NULL,
	"BR_CODE"	VARCHAR2(10)		NOT NULL,
	"STATE_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "STATE" (
	"STATE_CODE"	VARCHAR2(10)		NOT NULL,
	"STATE"	VARCHAR2(50)		NULL
);

CREATE TABLE "LINK" (
	"LINK_CODE"	VARCHAR2(10)		NOT NULL,
	"LINK"	VARCHAR2(1000)		NULL,
	"MEMBER_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "PROFILE" (
	"PI_CODE"	VARCHAR2(10)		NOT NULL,
	"PATH"	VARCHAR2(1000)		NULL,
	"MEM_CODE"	VARCHAR2(10)		NOT NULL
);

CREATE TABLE "PT_LIST" (
	"PTL_CODE"	VARCHAR2(10)		NOT NULL,
	"NAME"	VARCHAR2(100)		NULL
);

ALTER TABLE "MEMBER" ADD CONSTRAINT "PK_MEMBER" PRIMARY KEY (
	"MEM_CODE"
);

ALTER TABLE "App_Opening" ADD CONSTRAINT "PK_APP_OPENING" PRIMARY KEY (
	"AP_CODE"
);

ALTER TABLE "CAREER" ADD CONSTRAINT "PK_CAREER" PRIMARY KEY (
	"C_CODE"
);

ALTER TABLE "B_REPORT" ADD CONSTRAINT "PK_B_REPORT" PRIMARY KEY (
	"BR_CODE"
);

ALTER TABLE "OPEN_TAG" ADD CONSTRAINT "PK_OPEN_TAG" PRIMARY KEY (
	"OT_CODE"
);

ALTER TABLE "PTAG_LIST" ADD CONSTRAINT "PK_PTAG_LIST" PRIMARY KEY (
	"PL_CODE"
);

ALTER TABLE "MEMBER_APPLY" ADD CONSTRAINT "PK_MEMBER_APPLY" PRIMARY KEY (
	"MA_CODE"
);

ALTER TABLE "AO_COMMENT" ADD CONSTRAINT "PK_AO_COMMENT" PRIMARY KEY (
	"AC_CODE"
);

ALTER TABLE "AO_REPLY2" ADD CONSTRAINT "PK_AO_REPLY2" PRIMARY KEY (
	"A2_CODE"
);

ALTER TABLE "MBTI" ADD CONSTRAINT "PK_MBTI" PRIMARY KEY (
	"MBTI_CODE"
);

ALTER TABLE "W_MEMBERLIST" ADD CONSTRAINT "PK_W_MEMBERLIST" PRIMARY KEY (
	"WM_CODE"
);

ALTER TABLE "W_REASON" ADD CONSTRAINT "PK_W_REASON" PRIMARY KEY (
	"WR_CODE"
);

ALTER TABLE "P_TARGET" ADD CONSTRAINT "PK_P_TARGET" PRIMARY KEY (
	"PTG_CODE"
);

ALTER TABLE "TECH_QnA" ADD CONSTRAINT "PK_TECH_QNA" PRIMARY KEY (
	"TQ_CODE"
);

ALTER TABLE "C_QnA" ADD CONSTRAINT "PK_C_QNA" PRIMARY KEY (
	"CQ_CODE"
);

ALTER TABLE "PORTFOLIO" ADD CONSTRAINT "PK_PORTFOLIO" PRIMARY KEY (
	"P_CODE"
);

ALTER TABLE "CVOTE" ADD CONSTRAINT "PK_CVOTE" PRIMARY KEY (
	"V_CODE"
);

ALTER TABLE "TQ_COMMENT" ADD CONSTRAINT "PK_TQ_COMMENT" PRIMARY KEY (
	"TC_CODE"
);

ALTER TABLE "TQ_REPLY2" ADD CONSTRAINT "PK_TQ_REPLY2" PRIMARY KEY (
	"T2_CODE"
);

ALTER TABLE "CQ_COMMENT" ADD CONSTRAINT "PK_CQ_COMMENT" PRIMARY KEY (
	"CQC_CODE"
);

ALTER TABLE "CQ_REPLY2" ADD CONSTRAINT "PK_CQ_REPLY2" PRIMARY KEY (
	"CQ2_CODE"
);

ALTER TABLE "CVOTE_P" ADD CONSTRAINT "PK_CVOTE_P" PRIMARY KEY (
	"VP_CODE"
);

ALTER TABLE "CVOTE_SEL" ADD CONSTRAINT "PK_CVOTE_SEL" PRIMARY KEY (
	"VS_CODE"
);

ALTER TABLE "RESUME" ADD CONSTRAINT "PK_RESUME" PRIMARY KEY (
	"R_CODE"
);

ALTER TABLE "ST_LIST" ADD CONSTRAINT "PK_ST_LIST" PRIMARY KEY (
	"SL_CODE"
);

ALTER TABLE "P_TAG" ADD CONSTRAINT "PK_P_TAG" PRIMARY KEY (
	"PT_CODE"
);

ALTER TABLE "P_COMMENT" ADD CONSTRAINT "PK_P_COMMENT" PRIMARY KEY (
	"PC_CODE"
);

ALTER TABLE "P_REPLY2" ADD CONSTRAINT "PK_P_REPLY2" PRIMARY KEY (
	"P2_CODE"
);

ALTER TABLE "ADDITIONAL_OPEN" ADD CONSTRAINT "PK_ADDITIONAL_OPEN" PRIMARY KEY (
	"AO_CODE"
);

ALTER TABLE "SKIL_TAG" ADD CONSTRAINT "PK_SKIL_TAG" PRIMARY KEY (
	"KT_CODE"
);

ALTER TABLE "INQUIRY" ADD CONSTRAINT "PK_INQUIRY" PRIMARY KEY (
	"IQ_CODE"
);

ALTER TABLE "FAQ" ADD CONSTRAINT "PK_FAQ" PRIMARY KEY (
	"FAQ_CODE"
);

ALTER TABLE "PROTEST" ADD CONSTRAINT "PK_PROTEST" PRIMARY KEY (
	"PROTEST_CODE"
);

ALTER TABLE "INQUIRY_TYPE" ADD CONSTRAINT "PK_INQUIRY_TYPE" PRIMARY KEY (
	"IT_CODE"
);

ALTER TABLE "I_REPLY" ADD CONSTRAINT "PK_I_REPLY" PRIMARY KEY (
	"IR_CODE"
);

ALTER TABLE "PROTEST_REPLY" ADD CONSTRAINT "PK_PROTEST_REPLY" PRIMARY KEY (
	"PROC_CODE"
);

ALTER TABLE "MEM_INFO" ADD CONSTRAINT "PK_MEM_INFO" PRIMARY KEY (
	"MI_CODE"
);

ALTER TABLE "P_REPORT" ADD CONSTRAINT "PK_P_REPORT" PRIMARY KEY (
	"PR_CODE"
);

ALTER TABLE "REPORT_REASON" ADD CONSTRAINT "PK_REPORT_REASON" PRIMARY KEY (
	"RR_CODE"
);

ALTER TABLE "PC_REPOERT" ADD CONSTRAINT "PK_PC_REPOERT" PRIMARY KEY (
	"PCR_CODE"
);

ALTER TABLE "P2_REPORT" ADD CONSTRAINT "PK_P2_REPORT" PRIMARY KEY (
	"P2R_CODE"
);

ALTER TABLE "CQ_REPORT" ADD CONSTRAINT "PK_CQ_REPORT" PRIMARY KEY (
	"QR_CODE"
);

ALTER TABLE "TQ_REPORT" ADD CONSTRAINT "PK_TQ_REPORT" PRIMARY KEY (
	"TQR_CODE"
);

ALTER TABLE "CQC_REPORT" ADD CONSTRAINT "PK_CQC_REPORT" PRIMARY KEY (
	"CR_CODE"
);

ALTER TABLE "TQC_REPORT" ADD CONSTRAINT "PK_TQC_REPORT" PRIMARY KEY (
	"QCR_CODE"
);

ALTER TABLE "TQ2_REPORT" ADD CONSTRAINT "PK_TQ2_REPORT" PRIMARY KEY (
	"Q2R_CODE"
);

ALTER TABLE "CQ2_REPORT" ADD CONSTRAINT "PK_CQ2_REPORT" PRIMARY KEY (
	"C2_CODE"
);

ALTER TABLE "ADMIN" ADD CONSTRAINT "PK_ADMIN" PRIMARY KEY (
	"ADMIN_CODE"
);

ALTER TABLE "P_REASON" ADD CONSTRAINT "PK_P_REASON" PRIMARY KEY (
	"PRE_CODE"
);

ALTER TABLE "P_FILE" ADD CONSTRAINT "PK_P_FILE" PRIMARY KEY (
	"PF_CODE"
);

ALTER TABLE "CAREER_FILE" ADD CONSTRAINT "PK_CAREER_FILE" PRIMARY KEY (
	"CF_CODE"
);

ALTER TABLE "TQ_FILE" ADD CONSTRAINT "PK_TQ_FILE" PRIMARY KEY (
	"TQF_CODE"
);

ALTER TABLE "CQnA_PIC" ADD CONSTRAINT "PK_CQNA_PIC" PRIMARY KEY (
	"CQP_CODE"
);

ALTER TABLE "BR_FILE" ADD CONSTRAINT "PK_BR_FILE" PRIMARY KEY (
	"BRF_CODE"
);

ALTER TABLE "OPEN_PICTURE" ADD CONSTRAINT "PK_OPEN_PICTURE" PRIMARY KEY (
	"OP_CODE"
);

ALTER TABLE "TASK" ADD CONSTRAINT "PK_TASK" PRIMARY KEY (
	"TASK_CODE"
);

ALTER TABLE "TASK_TAG" ADD CONSTRAINT "PK_TASK_TAG" PRIMARY KEY (
	"TT_CODE"
);

ALTER TABLE "TT_LIST" ADD CONSTRAINT "PK_TT_LIST" PRIMARY KEY (
	"TTL_CODE"
);

ALTER TABLE "AO_REPORT" ADD CONSTRAINT "PK_AO_REPORT" PRIMARY KEY (
	"AOR_CODE"
);

ALTER TABLE "AOC_REPORT" ADD CONSTRAINT "PK_AOC_REPORT" PRIMARY KEY (
	"ACR_CODE"
);

ALTER TABLE "AO2_REPORT" ADD CONSTRAINT "PK_AO2_REPORT" PRIMARY KEY (
	"A2R_CODE"
);

ALTER TABLE "OPENTAG_LIST" ADD CONSTRAINT "PK_OPENTAG_LIST" PRIMARY KEY (
	"OL_CODE"
);

ALTER TABLE "D_VOTE" ADD CONSTRAINT "PK_D_VOTE" PRIMARY KEY (
	"DV_CODE"
);

ALTER TABLE "AG_LIST" ADD CONSTRAINT "PK_AG_LIST" PRIMARY KEY (
	"AL_CODE"
);

ALTER TABLE "GENDER" ADD CONSTRAINT "PK_GENDER" PRIMARY KEY (
	"GENDER_CODE"
);

ALTER TABLE "GRADE" ADD CONSTRAINT "PK_GRADE" PRIMARY KEY (
	"GRADE_CODE"
);

ALTER TABLE "MEMBER_ROLE" ADD CONSTRAINT "PK_MEMBER_ROLE" PRIMARY KEY (
	"MR_CODE"
);

ALTER TABLE "G_FILTER" ADD CONSTRAINT "PK_G_FILTER" PRIMARY KEY (
	"GF_CODE"
);

ALTER TABLE "S_FILTER" ADD CONSTRAINT "PK_S_FILTER" PRIMARY KEY (
	"SF_CODE"
);

ALTER TABLE "A_FILTER" ADD CONSTRAINT "PK_A_FILTER" PRIMARY KEY (
	"AF_CODE"
);

ALTER TABLE "MS_FILTER" ADD CONSTRAINT "PK_MS_FILTER" PRIMARY KEY (
	"MSF_CODE"
);

ALTER TABLE "AGE_RANGE" ADD CONSTRAINT "PK_AGE_RANGE" PRIMARY KEY (
	"AA_CODE"
);

ALTER TABLE "ROLE_COMP" ADD CONSTRAINT "PK_ROLE_COMP" PRIMARY KEY (
	"RC_CODE"
);

ALTER TABLE "A_RESULT" ADD CONSTRAINT "PK_A_RESULT" PRIMARY KEY (
	"AR_CODE"
);

ALTER TABLE "AO_PROCESS" ADD CONSTRAINT "PK_AO_PROCESS" PRIMARY KEY (
	"Key"
);

ALTER TABLE "P_PROCESS" ADD CONSTRAINT "PK_P_PROCESS" PRIMARY KEY (
	"PP_CODE"
);

ALTER TABLE "PC_PROCESS" ADD CONSTRAINT "PK_PC_PROCESS" PRIMARY KEY (
	"PRR_CODE"
);

ALTER TABLE "AOC_PROCESS" ADD CONSTRAINT "PK_AOC_PROCESS" PRIMARY KEY (
	"ACP_CODE"
);

ALTER TABLE "AO2_PROCESS" ADD CONSTRAINT "PK_AO2_PROCESS" PRIMARY KEY (
	"A2P_CODE"
);

ALTER TABLE "CQ2_PROCESS" ADD CONSTRAINT "PK_CQ2_PROCESS" PRIMARY KEY (
	"Q2P_CODE"
);

ALTER TABLE "CQC_PROCESS" ADD CONSTRAINT "PK_CQC_PROCESS" PRIMARY KEY (
	"QCP_CODE"
);

ALTER TABLE "CQ_PROCESS" ADD CONSTRAINT "PK_CQ_PROCESS" PRIMARY KEY (
	"QPR_CODE"
);

ALTER TABLE "TQ2_PROCESS" ADD CONSTRAINT "PK_TQ2_PROCESS" PRIMARY KEY (
	"T2P_CDE"
);

ALTER TABLE "TQC_PROCESS" ADD CONSTRAINT "PK_TQC_PROCESS" PRIMARY KEY (
	"TCP_CODE"
);

ALTER TABLE "TQ_PROCESS" ADD CONSTRAINT "PK_TQ_PROCESS" PRIMARY KEY (
	"TQP_CODE"
);

ALTER TABLE "PENALTY" ADD CONSTRAINT "PK_PENALTY" PRIMARY KEY (
	"PE_CODE"
);

ALTER TABLE "P2_PROCESS" ADD CONSTRAINT "PK_P2_PROCESS" PRIMARY KEY (
	"P2P_CODE"
);

ALTER TABLE "CLOSE_MEMBER" ADD CONSTRAINT "PK_CLOSE_MEMBER" PRIMARY KEY (
	"CM_CODE"
);

ALTER TABLE "MILESTONE" ADD CONSTRAINT "PK_MILESTONE" PRIMARY KEY (
	"MS_CODE"
);

ALTER TABLE "STEP" ADD CONSTRAINT "PK_STEP" PRIMARY KEY (
	"ST_CODE"
);

ALTER TABLE "CHECKLIST" ADD CONSTRAINT "PK_CHECKLIST" PRIMARY KEY (
	"CK_CODE"
);

ALTER TABLE "CHECKLIST_CHEK" ADD CONSTRAINT "PK_CHECKLIST_CHEK" PRIMARY KEY (
	"CC_CODE"
);

ALTER TABLE "FINAL_REPORT" ADD CONSTRAINT "PK_FINAL_REPORT" PRIMARY KEY (
	"FR_CODE"
);

ALTER TABLE "FR_FILE" ADD CONSTRAINT "PK_FR_FILE" PRIMARY KEY (
	"FRF_CODE"
);

ALTER TABLE "ERD" ADD CONSTRAINT "PK_ERD" PRIMARY KEY (
	"ERD_CODE"
);

ALTER TABLE "FLOWCHART" ADD CONSTRAINT "PK_FLOWCHART" PRIMARY KEY (
	"FC_CODE"
);

ALTER TABLE "TEAM_FEEDBACK" ADD CONSTRAINT "PK_TEAM_FEEDBACK" PRIMARY KEY (
	"TF_CODE"
);

ALTER TABLE "EVALUATION" ADD CONSTRAINT "PK_EVALUATION" PRIMARY KEY (
	"EV_CODE"
);

ALTER TABLE "EV_DEVISION" ADD CONSTRAINT "PK_EV_DEVISION" PRIMARY KEY (
	"ED_CODE"
);

ALTER TABLE "CAUTION" ADD CONSTRAINT "PK_CAUTION" PRIMARY KEY (
	"CT_CODE"
);

ALTER TABLE "TEAM_REPORT" ADD CONSTRAINT "PK_TEAM_REPORT" PRIMARY KEY (
	"TR_CODE"
);

ALTER TABLE "D_LEADER" ADD CONSTRAINT "PK_D_LEADER" PRIMARY KEY (
	"DL_CODE"
);

ALTER TABLE "C_PROJECT" ADD CONSTRAINT "PK_C_PROJECT" PRIMARY KEY (
	"CP_CODE"
);

ALTER TABLE "RELEASE" ADD CONSTRAINT "PK_RELEASE" PRIMARY KEY (
	"RE_CODE"
);

ALTER TABLE "D_PROJECT" ADD CONSTRAINT "PK_D_PROJECT" PRIMARY KEY (
	"DP_CODE"
);

ALTER TABLE "D_REASON" ADD CONSTRAINT "PK_D_REASON" PRIMARY KEY (
	"DR_CODE"
);

ALTER TABLE "TR_PROCESS" ADD CONSTRAINT "PK_TR_PROCESS" PRIMARY KEY (
	"TP_CODE"
);

ALTER TABLE "TECH_UP" ADD CONSTRAINT "PK_TECH_UP" PRIMARY KEY (
	"TU_CODE"
);

ALTER TABLE "CAREER_UP" ADD CONSTRAINT "PK_CAREER_UP" PRIMARY KEY (
	"CU_CODE"
);

ALTER TABLE "MINUTES" ADD CONSTRAINT "PK_MINUTES" PRIMARY KEY (
	"MN_CODE"
);

ALTER TABLE "MI_COMMENT" ADD CONSTRAINT "PK_MI_COMMENT" PRIMARY KEY (
	"MNC_CODE"
);

ALTER TABLE "BR_RESULT" ADD CONSTRAINT "PK_BR_RESULT" PRIMARY KEY (
	"BRR_CODE"
);

ALTER TABLE "STATE" ADD CONSTRAINT "PK_STATE" PRIMARY KEY (
	"STATE_CODE"
);

ALTER TABLE "LINK" ADD CONSTRAINT "PK_LINK" PRIMARY KEY (
	"LINK_CODE"
);

ALTER TABLE "PROFILE" ADD CONSTRAINT "PK_PROFILE" PRIMARY KEY (
	"PI_CODE"
);

ALTER TABLE "PT_LIST" ADD CONSTRAINT "PK_PT_LIST" PRIMARY KEY (
	"PTL_CODE"
);

 


 

김지민.sql (팀 업무 분담 이후, 테이블, 시퀀스 생성, 제약조건 생성)
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩『테이블 생성』▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--[개설 신청 게시판 댓글 신고]
--[11 - AOC_REPORT]==========================================
CREATE TABLE "AOC_REPORT" 
( "ACR_CODE"    	VARCHAR2(10)		
, "CONTENT"	    VARCHAR2(4000)		
, "KDATE"	    DATE	        DEFAULT SYSDATE
, "RR_CODE"	    VARCHAR2(10)		
, "Field2"	    VARCHAR2(10)		
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT ACR_PK PRIMARY KEY(ACR_CODE)
);

--[참조키 추가 - AOC_REPORT]*******************************
-- 댓글 코드[AC_CODE], 신고 사유 코드[RR_CODE]
-- 회원 코드[MEM_CODE]


-- AC_CODE : 개설 신청 게시판 댓글(AO_COMMENT)
ALTER TABLE AOC_REPORT
      ADD CONSTRAINT ACR_AC_CODE_FK FOREIGN KEY(AC_CODE)
                                    REFERENCES AO_COMMENT(AC_CODE);
                                    
-- RR_CODE : 콘텐츠 신고 사유(REPORT_REASON)
ALTER TABLE AOC_REPORT
      ADD CONSTRAINT ACR_RR_CODE_FK FOREIGN KEY(RR_CODE)
                                    REFERENCES REPORT_REASON(RR_CODE);
                                    
-- MEM_CODE : 일반 회원(MEMBER)
ALTER TABLE AOC_REPORT
      ADD CONSTRAINT ACR_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

--*******************************************************






--[개설 신청 게시판 댓글 신고 처리]
--[12 - AOC_PROCESS]==========================================
CREATE TABLE "AOC_PROCESS"
( "ACP_CODE"	VARCHAR2(10)		
, "KDATE"	    DATE	        DEFAULT SYSDATE	
, "ADMIN_CODE"	VARCHAR2(10)		
, "PRE_CODE"    	VARCHAR2(10)		
, "ACR_CODE"    	VARCHAR2(10)		
, "PE_CODE"	    VARCHAR2(10)		
, "PTG_CODE"	    VARCHAR2(10)
, CONSTRAINT ACP_PK PRIMARY KEY(ACP_CODE)
);

--[참조키 추가 - AOC_PROCESS]*******************************
-- 관리자 코드[ADMIN_CODE], 처리 사유 코드[PRE_CODE]
-- 패널티 코드[PE_CODE], 처리 코드[PTG_CODE]
-- 댓글 신고 코드[ACR_CODE]


-- ADMIN_CODE : 관리자(ADMIN)
ALTER TABLE AOC_PROCESS
      ADD CONSTRAINT ACP_ADMIN_CODE_FK FOREIGN KEY(ADMIN_CODE)
                                    REFERENCES ADMIN(ADMIN_CODE);

-- PRE_CODE : 처리 사유(P_REASON)
ALTER TABLE AOC_PROCESS
      ADD CONSTRAINT ACP_PRE_CODE_FK FOREIGN KEY(PRE_CODE)
                                    REFERENCES P_REASON(PRE_CODE);

-- PE_CODE : 패널티(PENALTY)
ALTER TABLE AOC_PROCESS
      ADD CONSTRAINT ACP_PE_CODE_FK FOREIGN KEY(PE_CODE)
                                    REFERENCES PENALTY(PE_CODE);

-- PTG_CODE : 처리 대상(P_TARGET)
ALTER TABLE AOC_PROCESS
      ADD CONSTRAINT ACP_PTG_CODE_FK FOREIGN KEY(PTG_CODE)
                                    REFERENCES P_TARGET(PTG_CODE);

-- ACR_CODE : 개설 신청 게시판 댓글 신고(AOC_REPORT)
ALTER TABLE AOC_PROCESS
      ADD CONSTRAINT ACP_Q2R_CODE_FK FOREIGN KEY(ACR_CODE)
                                    REFERENCES AOC_REPORT(ACR_CODE);

--*******************************************************






--[개설신청글 태그]
--[13 - OPEN_TAG]==========================================
CREATE TABLE "OPEN_TAG"
( "OT_CODE"	    VARCHAR2(10)		
, "PL_CODE"	    VARCHAR2(10)		
, "AP_CODE"	    VARCHAR2(10)
, CONSTRAINT OT_PK PRIMARY KEY(OT_CODE)
);

--[참조키 추가 - OPEN_TAG]*******************************
-- 태그 코드(PL_CODE), 개설 신청 코드(AP_CODE)

-- PL_CODE : 프로젝트 주제 태그 목록(PTAG_LIST)
ALTER TABLE OPEN_TAG
      ADD CONSTRAINT OT_PL_CODE_FK FOREIGN KEY(PL_CODE)
                                    REFERENCES PTAG_LIST(PL_CODE);

-- AP_CODE : 개설 신청(APP_OPENING)
ALTER TABLE OPEN_TAG
      ADD CONSTRAINT OT_AP_CODE_FK FOREIGN KEY(AP_CODE)
                                    REFERENCES APP_OPENING(AP_CODE);
      
--*******************************************************


--[개설신청글 태그 목록]
--[14 - OPENTAG_LIST]==========================================
CREATE TABLE "OPENTAG_LIST" 
( "OL_CODE"	    VARCHAR2(10)		
, "NAME"	        VARCHAR2(100)		
, "OT_CODE"	    VARCHAR2(10)		
, CONSTRAINT OL_PK PRIMARY KEY(OL_CODE)
);


--[참조키 추가 - OPENTAG_LIST]*******************************
-- 주제 태그 코드[OT_CODE]

-- OT_CODE : 개설신청글 태그(OPEN_TAG)
ALTER TABLE OPENTAG_LIST
      ADD CONSTRAINT OL_PL_CODE_FK FOREIGN KEY(OT_CODE)
                                    REFERENCES OPEN_TAG(OT_CODE);

--*******************************************************




--[고객센터-FAQ 게시판]
--[20 - FAQ]==========================================

CREATE TABLE "FAQ" 
( "FAQ_CODE"	VARCHAR2(10)		
, "TILTE"	    VARCHAR2(100)		
, "CONTENT"	    VARCHAR2(4000)		
, "KDATE"	    DATE	        DEFAULT SYSDATE
, "ADMIN_CODE"	VARCHAR2(10)	
, CONSTRAINT FAQ_PK PRIMARY KEY(FAQ_CODE)
);

--[참조키 추가 - FAQ]*******************************
-- 관리자 코드[ADMIN_CODE]

-- ADMIN_CODE : 관리자(ADMIN)
ALTER TABLE FAQ
      ADD CONSTRAINT FAQ_ADMIN_CODE_FK FOREIGN KEY(ADMIN_CODE)
                                    REFERENCES ADMIN(ADMIN_CODE);

--****************************************************







--[관리자]
--[21 - ADMIN]==========================================
CREATE TABLE ADMIN
( ADMIN_CODE    VARCHAR2(10)
, KDATE         DATE            DEFAULT SYSDATE
, MEM_CODE      VARCHAR2(10)
, CONSTRAINT ADMIN_PK PRIMARY KEY(ADMIN_CODE)
);
--==>> Table ADMIN이(가) 생성되었습니다.

--[참조키 추가 - ADMIN]*******************************
-- 회원코드 [MEM_CODE]

-- MEM_CODE : 일반회원(MEMBER)
ALTER TABLE ADMIN
      ADD CONSTRAINT AD_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

--****************************************************


--[기술 Q&A 게시판]
--[22 - TECH_QNA]========================================
CREATE TABLE "TECH_QNA"
( "TQ_CODE"	    VARCHAR2(10)		
, "TITLE"	    VARCHAR2(100)		
, "CONTENT"	    VARCHAR2(4000)	
, "KDATE"	    DATE	        DEFAULT SYSDATE	
, "VIEWS"	    NUMBER	        DEFAULT 0	
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT TQ_PK PRIMARY KEY(TQ_CODE)
);
--==>> Table "TECH_QNA"이(가) 생성되었습니다.


--[참조키 추가 - TECH_QNA]*******************************
-- 회원코드 [MEM_CODE]

-- MEM_CODE : 일반회원(MEMBER)
ALTER TABLE TECH_QNA
      ADD CONSTRAINT AD_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);
--*******************************************************



--[기술 Q&A 게시판 대댓글]
--[23 - TQ_REPLY2]========================================
CREATE TABLE "TQ_REPLY2" 
( "T2_CODE"	    VARCHAR2(10)		
, "KDATE"	    DATE	        DEFAULT SYSDATE
, "COMMENTS"	    VARCHAR2(4000)
, "TC_CODE"	    VARCHAR2(10)	
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT T2_PK PRIMARY KEY(T2_CODE)
);
--==>> Table "TQ_REPLY2"이(가) 생성되었습니다.


--[참조키 추가 - TQ_REPLY2]*******************************
-- 댓글코드 [TC_CODE], 회원코드 [MEM_CODE]

-- TC_CODE : 기술Q&A게시판 댓글(TQ_COMMENT)
ALTER TABLE TQ_REPLY2
      ADD CONSTRAINT T2_TC_CODE_FK FOREIGN KEY(TC_CODE)
                                    REFERENCES TQ_COMMENT(TC_CODE);

-- MEM_CODE : 일반회원(MEMBER)
ALTER TABLE TQ_REPLY2
      ADD CONSTRAINT T2_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);
--*******************************************************



--[기술 Q&A 게시판 대댓글 신고]
--[24 - TQ2_REPORT]========================================
CREATE TABLE "TQ2_REPORT"
( "Q2R_CODE"    	VARCHAR2(10)		
, "CONTENT"	    VARCHAR2(4000)		
, "KDATE"	    DATE	        DEFAULT SYSDATE
, "T2_CODE"	    VARCHAR2(10)		
, "RR_CODE"	    VARCHAR2(10)		
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT Q2R_PK PRIMARY KEY(Q2R_CODE)
);
--==>> Table "TQ2_REPORT"이(가) 생성되었습니다.


--[참조키 추가 - TQ2_REPORT]*******************************
-- 대댓글 코드[T2_CODE], 신고 사유 코드[RR_CODE], 회원 코드[MEM_CODE]

-- T2_CODE : 기술Q&A 게시판 대댓글(TQ_REPLY2)
ALTER TABLE TQ2_REPORT
      ADD CONSTRAINT Q2R_T2_CODE_FK FOREIGN KEY(T2_CODE)
                                    REFERENCES TQ_REPLY2(T2_CODE);

-- RR_CODE : 콘텐츠 신고사유(REPORT_REASON)
ALTER TABLE TQ2_REPORT
      ADD CONSTRAINT Q2R_RR_CODE_FK FOREIGN KEY(RR_CODE)
                                    REFERENCES REPORT_REASON(RR_CODE);

-- MEM_CODE : 일반회원(MEMBER)
ALTER TABLE TQ2_REPORT
      ADD CONSTRAINT Q2R_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

--*******************************************************


--[기술 Q&A 사진]
--[25 - CQnA_PIC]========================================
CREATE TABLE "CQnA_PIC"
( "CQP_CODE"	VARCHAR2(10)
, "PATH"	        VARCHAR2(1000)	
, "TQ_CODE"	    VARCHAR2(10)	
, CONSTRAINT CQP_PK PRIMARY KEY(CQP_CODE)
);
--==>> Table "CQnA_PIC"이(가) 생성되었습니다.

--[참조키 추가 - CQnA_PIC]*******************************
-- 기술 게시물 코드[TQ_CODE]

-- TQ_CODE : 기술 Q&A 게시판(TECH_QNA)
ALTER TABLE CQnA_PIC
      ADD CONSTRAINT CQP_TQ_CODE_FK FOREIGN KEY(TQ_CODE)
                                    REFERENCES TECH_QNA(TQ_CODE);
--*******************************************************


--[기술 Q&A 게시판 신고]
--[26 - TQ_REPORT]========================================
CREATE TABLE "TQ_REPORT"
( "TQR_CODE"    	VARCHAR2(10)		
, "CONTENT"	    VARCHAR2(4000)		
, "KDATE"	    DATE	        DEFAULT SYSDATE	
, "TQ_CODE"	    VARCHAR2(10)		
, "RR_CODE"	    VARCHAR2(10)		
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT TQR_PK PRIMARY KEY(TQR_CODE)
);
--==>> Table "TQ_REPORT"이(가) 생성되었습니다.

--[참조키 추가 - TQ_REPORT]*******************************
-- 기술 게시물 코드[TQ_CODE], 신고 사유 코드[RR_CODE]
-- 회원코드[MEM_CODE]

-- TQ_CODE : 기술 Q&A 게시판(TECH_QNA)
ALTER TABLE TQ_REPORT
      ADD CONSTRAINT TQR_TQ_CODE_FK FOREIGN KEY(TQ_CODE)
                                    REFERENCES TECH_QNA(TQ_CODE);

-- RR_CODE : 콘텐츠 신고 사유(REPORT_REASON)
ALTER TABLE TQ_REPORT
      ADD CONSTRAINT TQR_RR_CODE_FK FOREIGN KEY(RR_CODE)
                                    REFERENCES REPORT_REASON(RR_CODE);

-- MEM_CODE : 일반 회원(MEMBER)
ALTER TABLE TQ_REPORT
      ADD CONSTRAINT TQR_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

--*******************************************************





--[기술 Q&A 게시판 첨부 파일]
--[27 - TQ_FILE]========================================
CREATE TABLE "TQ_FILE" 
( "TQF_CODE"	VARCHAR2(10)		
, "PATH"	        VARCHAR2(1000)		
, "TQ_CODE"	    VARCHAR2(10)
, CONSTRAINT TQF_PK PRIMARY KEY(TQF_CODE)
);
--==>> Table "TQ_FILE"이(가) 생성되었습니다.

--[참조키 추가 - TQ_FILE]*******************************
-- 기술 게시물 코드[TQ_CODE]

-- TQ_CODE : 기술 Q&A 게시판(TECH_QNA)
ALTER TABLE TQ_FILE
      ADD CONSTRAINT TQF_TQ_CODE_FK FOREIGN KEY(TQ_CODE)
                                    REFERENCES TECH_QNA(TQ_CODE);

--*******************************************************





--[기술 Q&A 게시판 신고 처리]
--[28 - TQ_PROCESS]=====================================
CREATE TABLE "TQ_PROCESS" 
( "TQP_CODE"	VARCHAR2(10)		
, "KDATE"	    DATE	        DEFAULT SYSDATE
, "ADMIN_CODE"	VARCHAR2(10)		
, "PRE_CODE"	    VARCHAR2(10)		
, "PE_CODE"	    VARCHAR2(10)		
, "PTG_CODE"	    VARCHAR2(10)		
, "TQR_CODE"    	VARCHAR2(10)	
, CONSTRAINT TQP_PK PRIMARY KEY(TQP_CODE)
);
--==>> Table "TQ_PROCESS"이(가) 생성되었습니다.

--[참조키 추가 - TQ_PROCESS]*******************************
-- 관리자 코드[ADMIN_CODE], 처리 사유 코드[PRE_CODE]
-- 패널티 코드[PE_CODE], 처리 코드[PTG_CODE]
-- 신고 코드[TQR_CODE]


-- ADMIN_CODE : 관리자(ADMIN)
ALTER TABLE TQ_PROCESS
      ADD CONSTRAINT TQP_ADMIN_CODE_FK FOREIGN KEY(ADMIN_CODE)
                                    REFERENCES ADMIN(ADMIN_CODE);

-- PRE_CODE : 처리 사유(P_REASON)
ALTER TABLE TQ_PROCESS
      ADD CONSTRAINT TQP_PRE_CODE_FK FOREIGN KEY(PRE_CODE)
                                    REFERENCES P_REASON(PRE_CODE);

-- PE_CODE : 패널티(PENALTY)
ALTER TABLE TQ_PROCESS
      ADD CONSTRAINT TQP_PE_CODE_FK FOREIGN KEY(PE_CODE)
                                    REFERENCES PENALTY(PE_CODE);

-- PTG_CODE : 처리 대상(P_TARGET)
ALTER TABLE TQ_PROCESS
      ADD CONSTRAINT TQP_PTG_CODE_FK FOREIGN KEY(PTG_CODE)
                                    REFERENCES P_TARGET(PTG_CODE);

-- TQR_CODE : 기술 Q&A 게시판 신고(TQ_REPORT)
ALTER TABLE TQ_PROCESS
      ADD CONSTRAINT TQP_TQR_CODE_FK FOREIGN KEY(TQR_CODE)
                                    REFERENCES TQ_REPORT(TQR_CODE);

--*******************************************************





--[기술 대댓글 신고 처리]
--[29 - TQ2_PROCESS]========================================
CREATE TABLE "TQ2_PROCESS"
( "T2P_CODE"        	VARCHAR2(10)		
, "KDATE"	        DATE	        DEFAULT SYSDATE	
, "Q2R_CODE"	        VARCHAR2(10)		
, "ADMIN_CODE"	    VARCHAR2(10)		
, "PRE_CODE"	        VARCHAR2(10)		
, "PE_CODE"	        VARCHAR2(10)		
, "PTG_CODE"	        VARCHAR2(10)
, CONSTRAINT T2P_PK PRIMARY KEY(T2P_CODE)
);
--==>> Table "TQ2_PROCESS"이(가) 생성되었습니다.

--[참조키 추가 - TQ2_PROCESS]*******************************
-- 관리자 코드[ADMIN_CODE], 처리 사유 코드[PRE_CODE]
-- 패널티 코드[PE_CODE], 처리 코드[PTG_CODE]
-- 신고 코드[Q2R_CODE]


-- ADMIN_CODE : 관리자(ADMIN)
ALTER TABLE TQ2_PROCESS
      ADD CONSTRAINT T2P_ADMIN_CODE_FK FOREIGN KEY(ADMIN_CODE)
                                    REFERENCES ADMIN(ADMIN_CODE);

-- PRE_CODE : 처리 사유(P_REASON)
ALTER TABLE TQ2_PROCESS
      ADD CONSTRAINT T2P_PRE_CODE_FK FOREIGN KEY(PRE_CODE)
                                    REFERENCES P_REASON(PRE_CODE);

-- PE_CODE : 패널티(PENALTY)
ALTER TABLE TQ2_PROCESS
      ADD CONSTRAINT T2P_PE_CODE_FK FOREIGN KEY(PE_CODE)
                                    REFERENCES PENALTY(PE_CODE);

-- PTG_CODE : 처리 대상(P_TARGET)
ALTER TABLE TQ2_PROCESS
      ADD CONSTRAINT T2P_PTG_CODE_FK FOREIGN KEY(PTG_CODE)
                                    REFERENCES P_TARGET(PTG_CODE);

-- Q2R_CODE : 기술 Q&A 게시판 대댓글 신고(TQ2_REPORT)
ALTER TABLE TQ2_PROCESS
      ADD CONSTRAINT T2P_Q2R_CODE_FK FOREIGN KEY(Q2R_CODE)
                                    REFERENCES TQ_REPORT(Q2R_CODE);

--*******************************************************






--[기술 따봉]
--[30 - TECH_UP]========================================
CREATE TABLE "TECH_UP"
( "TU_CODE"	    VARCHAR2(10)	
, "KDATE"	    DATE            DEFAULT SYSDATE		
, "TC_CODE"	    VARCHAR2(10)		
, CONSTRAINT TU_PK PRIMARY KEY(TU_CODE)
);
--==>> Table "TECH_UP"이(가) 생성되었습니다.

--[참조키 추가 - TECH_UP]*******************************
-- 댓글 코드[TC_CODE]


-- TC_CODE : 기술 Q&A 게시판 댓글(TQ_COMMENT)
ALTER TABLE TECH_UP
      ADD CONSTRAINT TU_TC_CODE_FK FOREIGN KEY(TC_CODE)
                                    REFERENCES TQ_COMMENT(TC_CODE);


--*******************************************************






--[기술 Q&A 게시판 댓글]
--[31 - TQ_COMMENT]======================================
CREATE TABLE "TQ_COMMENT"
( "TC_CODE"	    VARCHAR(255)		
, "KDATE"	    DATE	        DEFAULT SYSDATE	
, "COMMENTS"	    VARCHAR2(4000)		
, "TQ_CODE"	    VARCHAR2(10)		
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT TC_PK PRIMARY KEY(TC_CODE)
);
--==>> Table "TQ_COMMENT"이(가) 생성되었습니다.


--[참조키 추가 - TQ_COMMENT]*******************************
-- 기술 게시물 코드[TQ_CODE], 회원 코드[MEM_CODE]


-- TQ_CODE : 기술 Q&A 게시판(TECH_QNA)
ALTER TABLE TQ_COMMENT
      ADD CONSTRAINT TC_TQ_CODE_FK FOREIGN KEY(TQ_CODE)
                                    REFERENCES TECH_QNA(TQ_CODE);

-- MEM_CODE : 일반 회원(MEMBER)
ALTER TABLE TQ_COMMENT
      ADD CONSTRAINT TC_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

--*******************************************************





--[기술 Q&A 게시판 댓글 신고]
--[32 - TQC_REPORT]=======================================
CREATE TABLE "TQC_REPORT" 
( "QCR_CODE"	    VARCHAR2(10)		
, "CONTENT"	    VARCHAR2(4000)		
, "KDATE"	    DATE	DEFAULT SYSDATE	
, "TC_CODE"	    VARCHAR2(10)		
, "RR_CODE"	    VARCHAR2(10)		
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT QCR_PK PRIMARY KEY(QCR_CODE)
);
--==>> Table "TQC_REPORT"이(가) 생성되었습니다.

--[참조키 추가 - TQC_REPORT]*******************************
-- 댓글 코드[TC_CODE], 신고 사유 코드[RR_CODE]
-- 회원 코드[MEM_CODE]


-- TC_CODE : 기술 Q&A 게시판 댓글(TQ_COMMENT)
ALTER TABLE TQC_REPORT
      ADD CONSTRAINT QCR_TQ_CODE_FK FOREIGN KEY(TQ_CODE)
                                    REFERENCES TECH_QNA(TQ_CODE);
                                    
-- RR_CODE : 콘텐츠 신고 사유(REPORT_REASON)
ALTER TABLE TQC_REPORT
      ADD CONSTRAINT QCR_RR_CODE_FK FOREIGN KEY(RR_CODE)
                                    REFERENCES REPORT_REASON(RR_CODE);
                                    
-- MEM_CODE : 일반 회원(MEMBER)
ALTER TABLE TQC_REPORT
      ADD CONSTRAINT QCR_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

--*******************************************************




--[기술 게시판 댓글 신고 처리]
--[33 - TQC_PROCESS]=======================================
CREATE TABLE "TQC_PROCESS"
( "TCP_CODE"	VARCHAR2(10)		
, "KDATE"	    DATE	        DEFAULT SYSDATE	
, "ADMIN_CODE"	VARCHAR2(10)		
, "PRE_CODE"	    VARCHAR2(10)		
, "QCR_CODE"	    VARCHAR2(10)		
, "PE_CODE"	    VARCHAR2(10)		
, "PTG_CODE"	    VARCHAR2(10)	
, CONSTRAINT TCP_PK PRIMARY KEY(TCP_CODE)
);
--==>> Table "TQC_PROCESS"이(가) 생성되었습니다.


--[참조키 추가 - TQC_PROCESS]*******************************
-- 관리자 코드[ADMIN_CODE], 처리 사유 코드[PRE_CODE]
-- 패널티 코드[PE_CODE], 처리 코드[PTG_CODE]
-- 신고 코드[QCR_CODE]


-- ADMIN_CODE : 관리자(ADMIN)
ALTER TABLE TQC_PROCESS
      ADD CONSTRAINT TCP_ADMIN_CODE_FK FOREIGN KEY(ADMIN_CODE)
                                    REFERENCES ADMIN(ADMIN_CODE);

-- PRE_CODE : 처리 사유(P_REASON)
ALTER TABLE TQC_PROCESS
      ADD CONSTRAINT TCP_PRE_CODE_FK FOREIGN KEY(PRE_CODE)
                                    REFERENCES P_REASON(PRE_CODE);

-- PE_CODE : 패널티(PENALTY)
ALTER TABLE TQC_PROCESS
      ADD CONSTRAINT TCP_PE_CODE_FK FOREIGN KEY(PE_CODE)
                                    REFERENCES PENALTY(PE_CODE);

-- PTG_CODE : 처리 대상(P_TARGET)
ALTER TABLE TQC_PROCESS
      ADD CONSTRAINT TCP_PTG_CODE_FK FOREIGN KEY(PTG_CODE)
                                    REFERENCES P_TARGET(PTG_CODE);

-- QCR_CODE : 기술 Q&A 게시판 댓글 신고(TQC_REPORT)
ALTER TABLE TQC_PROCESS
      ADD CONSTRAINT TCP_QCR_CODE_FK FOREIGN KEY(QCR_CODE)
                                    REFERENCES TQC_REPORT(QCR_CODE);

--*******************************************************





--[단계]
--[34 - STEP]==============================================
CREATE TABLE "STEP"
( "ST_CODE"	    VARCHAR2(10)		
, "STEP"        	VARCHAR2(50)
, CONSTRAINT ST_PK PRIMARY KEY(ST_CODE)
);
--==>> Table "STEP"이(가) 생성되었습니다.




--[등급]
--[35 - GRADE]============================================
CREATE TABLE "GRADE"
("GRADE_CODE"	VARCHAR2(10)	
, "GRADE_NAME"	VARCHAR2(50)
, "GRADE_MIN"	NUMBER		
, "GRADE_MAX"	NUMBER
, CONSTRAINT GRADE_PK PRIMARY KEY(GRADE_CODE)
);
--==>> Table "GRADE"이(가) 생성되었습니다.



--[등급 필터링]
--[36 - G_FILTER]=========================================
CREATE TABLE "G_FILTER" 
( "GF_CODE"	VARCHAR2(10)		
, "GRADE_CODE"	VARCHAR2(10)		
, "MR_CODE"	VARCHAR2(10)		
, "AP_CODE"	VARCHAR2(10)		
, CONSTRAINT GF_PK PRIMARY KEY(GF_CODE)
);
--==>> Table "G_FILTER"이(가) 생성되었습니다.


--[참조키 추가 - G_FILTER]*******************************
-- 등급 코드[GRADE_CODE], 직무 코드[MR_CODE]
-- 개설 신청 코드[AP_CODE]

-- GRADE_CODE : 등급(GRADE)
ALTER TABLE G_FILTER
      ADD CONSTRAINT GF_GRADE_CODE_FK FOREIGN KEY(GRADE_CODE)
                                    REFERENCES GRADE(GRADE_CODE);

-- MR_CODE : 직무(MEMBER_ROLE)
ALTER TABLE G_FILTER
      ADD CONSTRAINT GF_MR_CODE_FK FOREIGN KEY(MR_CODE)
                                    REFERENCES MEMBER_ROLE(MR_CODE);

-- AP_CODE : 개설 신청(APP_OPENING)
ALTER TABLE G_FILTER
      ADD CONSTRAINT GF_AP_CODE_FK FOREIGN KEY(AP_CODE)
                                    REFERENCES APP_OPENING(AP_CODE);

--*******************************************************





--[링크]
--[37 - LINK]==================================================
CREATE TABLE "LINK"
( "LINK_CODE"	VARCHAR2(10)		
, "LINK"	        VARCHAR2(1000)		
, "MEMBER_CODE"	VARCHAR2(10)	
, CONSTRAINT LINK_PK PRIMARY KEY(LINK_CODE)
);
--==>> Table "LINK"이(가) 생성되었습니다.

--[참조키 추가 - LINK]***********************************
-- 회원코드[MEM_CODE]

-- MEM_CODE : 일반회원(MEMBER)
ALTER TABLE LINK
      ADD CONSTRAINT LINK_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

--*******************************************************






--[마일스톤]
--[38 - MILESTONE]=============================================
CREATE TABLE "MILESTONE"
( "MS_CODE"	VARCHAR2(10)		
, "DP_CODE"	VARCHAR2(10)	
, CONSTRAINT MS_PK PRIMARY KEY(MS_CODE)
);
--==>> Table "MILESTONE"이(가) 생성되었습니다.

--[참조키 추가 - MILESTONE]*******************************
-- 프로젝트 코드[CP_CODE]

-- CP_CODE : 프로젝트(개설확정) (C_PROJECT)
ALTER TABLE MILESTONE
      ADD CONSTRAINT MS_CP_CODE_FK FOREIGN KEY(CP_CODE)
                                    REFERENCES MEMBER(CP_CODE);

--*******************************************************




--[매너 점수 필터링]
--[39 - MS_FILTER]===============================================
CREATE TABLE "MS_FILTER" 
( "MSF_CODE"	    VARCHAR2(10)		
, "MIN"	        NUMBER		
, "AP_CODE"	    VARCHAR2(10)	
, CONSTRAINT MSF_PK PRIMARY KEY(MSF_CODE)
);
--==>> Table "MS_FILTER"이(가) 생성되었습니다.

--[참조키 추가 - MS_FILTER]*******************************
-- 개설 신청 코드[AP_CODE]

-- AP_CODE : 개설 신청 (APP_OPENING)
ALTER TABLE MS_FILTER
      ADD CONSTRAINT MSF_CP_CODE_FK FOREIGN KEY(APP_OPENING)
                                    REFERENCES APP_OPENING(APP_OPENING);

--*******************************************************




--[멤버 지원]
--[40 - MEMBER_APPLY]=========================================
CREATE TABLE "MEMBER_APPLY" 
( "MA_CODE"	    VARCHAR2(10)		
, "CONTENT"	    VARCHAR2(4000)		
, "KDATE"	    DATE	        DEFAULT SYSDATE
, "DDATE"	    DATE		
, "MEM_CODE"	VARCHAR2(10)		
, "RC_CODE"	    VARCHAR2(10)		
, "AR_CODE"	    VARCHAR2(10)	
, CONSTRAINT MA_PK PRIMARY KEY(MA_CODE)
);
--==>> Table "MEMBER_APPLY"이(가) 생성되었습니다.


--[참조키 추가 - MEMBER_APPLY]*******************************
-- 회원코드[MEM_CODE], 직무 구성 코드[RC_CODE]
-- 결과 코드[AR_CODE]

-- MEM_CODE : 일반 회원(MEMBER)
ALTER TABLE MEMBER_APPLY
      ADD CONSTRAINT MA_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

-- RC_CODE : 팀원별 직무 구성(ROLE_COMP)
ALTER TABLE MEMBER_APPLY
      ADD CONSTRAINT MA_RC_CODE_FK FOREIGN KEY(RC_CODE)
                                    REFERENCES ROLE_COMP(RC_CODE);

-- AR_CODE : 지원 결과(A_RESULT)
ALTER TABLE MEMBER_APPLY
      ADD CONSTRAINT MA_AR_CODE_FK FOREIGN KEY(AR_CODE)
                                    REFERENCES A_RESULT(AR_CODE);
                                    
--*******************************************************





--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩『시퀀스 생성』▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩



--[AO_REPLY2 시퀀스]
--[7 - A2_SEQ]
CREATE SEQUENCE A2_SEQ
START WITH 1
NOCACHE;
--==>> Sequence A2_SEQ이(가) 생성되었습니다.


--[AO2_REPORT 시퀀스]
--[8 - A2R_SEQ]
CREATE SEQUENCE A2R_SEQ
START WITH 1
NOCACHE;
--==>> Sequence A2R_SEQ이(가) 생성되었습니다.


--[AO2_PROCESS 시퀀스]
--[9 - A2P_SEQ]
CREATE SEQUENCE A2P_SEQ
START WITH 1
NOCACHE;
--==>> Sequence A2P_SEQ이(가) 생성되었습니다.



--[AOC_REPORT 시퀀스]
--[11 - ACR_SEQ]
CREATE SEQUENCE ACR_SEQ
START WITH 1
NOCACHE;
--==>> Sequence ACR_SEQ이(가) 생성되었습니다.


--[AOC_PROCESS 시퀀스]
--[12 - ACP_SEQ]
CREATE SEQUENCE ACP_SEQ
START WITH 1
NOCACHE;
--==>> Sequence ACP_SEQ이(가) 생성되었습니다.

--[OPEN_TAG 시퀀스]
--[13 - OT_SEQ]
CREATE SEQUENCE OT_SEQ
START WITH 1
NOCACHE;
--==>> Sequence OT_SEQ이(가) 생성되었습니다.

--[OPENTAG_LIST 시퀀스]
--[14 - OL_SEQ]
CREATE SEQUENCE OL_SEQ
START WITH 1
NOCACHE;
--==>> Sequence OL_SEQ이(가) 생성되었습니다.

--[FINAL_REPORT 시퀀스]
--[15 - FR_SEQ]
CREATE SEQUENCE FR_SEQ
START WITH 1
NOCACHE;
--==>> Sequence FR_SEQ이(가) 생성되었습니다.

--[CAUTION 시퀀스]
--[16 - CT_SEQ]
CREATE SEQUENCE CT_SEQ
START WITH 1
NOCACHE;
--==>> Sequence CT_SEQ이(가) 생성되었습니다.

--[CAREER 시퀀스]
--[17 - C_SEQ]
CREATE SEQUENCE C_SEQ
START WITH 1
NOCACHE;
--==>> Sequence C_SEQ이(가) 생성되었습니다.

--[INQUIRY 시퀀스]
--[18 - IQ_SEQ]
CREATE SEQUENCE IQ_SEQ
START WITH 1
NOCACHE;
--==>> Sequence IQ_SEQ이(가) 생성되었습니다.

--[PROTEST 시퀀스]
--[19 - PROTEST_SEQ]
CREATE SEQUENCE PROTEST_SEQ
START WITH 1
NOCACHE;
--==>> Sequence PROTEST_SEQ이(가) 생성되었습니다.

--[FAQ 시퀀스]
--[20 - FAQ_SEQ]
CREATE SEQUENCE FAQ_SEQ
START WITH 1
NOCACHE;
--==>> Sequence FAQ_SEQ이(가) 생성되었습니다.




--[ADMIN 시퀀스]
--[21 - ADMIN_SEQ]
CREATE SEQUENCE ADMIN_SEQ
START WITH 1
NOCACHE;
--==>> Sequence ADMIN_SEQ이(가) 생성되었습니다.

--[TECH_QnA 시퀀스]
--[22 - TQ_SEQ]
CREATE SEQUENCE TQ_SEQ
START WITH 1
NOCACHE;
--==>> Sequence TQ_SEQ이(가) 생성되었습니다.


--[TQ_REPLY2 시퀀스]
--[23 - T2_SEQ]
CREATE SEQUENCE T2_SEQ
START WITH 1
NOCACHE;
--==>> Sequence T2_SEQ이(가) 생성되었습니다.


--[TQ2_REPORT 시퀀스]
--[24 - Q2R_SEQ]
CREATE SEQUENCE Q2R_SEQ
START WITH 1
NOCACHE;
--==>> Sequence Q2R_SEQ이(가) 생성되었습니다.


--[CQnA_PIC 시퀀스]
--[25 - CQP_SEQ]
CREATE SEQUENCE CQP_SEQ
START WITH 1
NOCACHE;
--==>> Sequence CQP_SEQ이(가) 생성되었습니다.


--[TQ_REPORT 시퀀스]
--[26 - TQR_SEQ]
CREATE SEQUENCE TQR_SEQ
START WITH 1
NOCACHE;
--==>> Sequence TQR_SEQ이(가) 생성되었습니다.


--[TQ_FILE 시퀀스]
--[27 - TQF_SEQ]
CREATE SEQUENCE TQF_SEQ
START WITH 1
NOCACHE;
--==>> Sequence TQF_SEQ이(가) 생성되었습니다.

--[TQ_PROCESS 시퀀스]
--[28 - TQP_SEQ]
CREATE SEQUENCE TQP_SEQ
START WITH 1
NOCACHE;
--==>> Sequence TQP_SEQ이(가) 생성되었습니다.

--[TQ2_PROCESS 시퀀스]
--[29 - T2P_SEQ]
CREATE SEQUENCE T2P_SEQ
START WITH 1
NOCACHE;
--==>> Sequence T2P_SEQ이(가) 생성되었습니다.

--[TECH_UP 시퀀스]
--[30 - TU_SEQ]
CREATE SEQUENCE TU_SEQ
START WITH 1
NOCACHE;
--==>> Sequence TU_SEQ이(가) 생성되었습니다.

--[TQ_COMMENT 시퀀스]
--[31 - TC_SEQ]
CREATE SEQUENCE TC_SEQ
START WITH 1
NOCACHE;
--==>> Sequence TC_SEQ이(가) 생성되었습니다.

--[TQC_REPORT 시퀀스]
--[32 - QCR_SEQ]
CREATE SEQUENCE QCR_SEQ
START WITH 1
NOCACHE;
--==>> Sequence QCR_SEQ이(가) 생성되었습니다.


--[TQC_PROCESS 시퀀스]
--[33 - TCP_SEQ]
CREATE SEQUENCE TCP_SEQ
START WITH 1
NOCACHE;
--==>> Sequence TCP_SEQ이(가) 생성되었습니다.

--[STEP 시퀀스]
--[34 - ST_SEQ]
CREATE SEQUENCE ST_SEQ
START WITH 1
NOCACHE;
--==>> Sequence ST_SEQ이(가) 생성되었습니다.

--[GRADE 시퀀스]
--[35 - GRADE_SEQ]
CREATE SEQUENCE GRADE_SEQ
START WITH 1
NOCACHE;
--==>> Sequence GRADE_SEQ이(가) 생성되었습니다.

--[G_FILTER 시퀀스]
--[36 - GF_SEQ]
CREATE SEQUENCE GF_SEQ
START WITH 1
NOCACHE;
--==>> Sequence GF_SEQ이(가) 생성되었습니다.


--[LINK 시퀀스]
--[37 - LINK_SEQ]
CREATE SEQUENCE LINK_SEQ
START WITH 1
NOCACHE;
--==>> Sequence LINK_SEQ이(가) 생성되었습니다.

--[MILESTONE 시퀀스]
--[38 - MS_SEQ]
CREATE SEQUENCE MS_SEQ
START WITH 1
NOCACHE;
--==>> Sequence MS_SEQ이(가) 생성되었습니다.

--[MS_FILTER 시퀀스]
--[39 - MSF_SEQ]
CREATE SEQUENCE MSF_SEQ
START WITH 1
NOCACHE;
--==>> Sequence MSF_SEQ이(가) 생성되었습니다.

--[MEMBER_APPLY 시퀀스]
--[40 - MA_SEQ]
CREATE SEQUENCE MA_SEQ
START WITH 1
NOCACHE;
--==>> Sequence MA_SEQ이(가) 생성되었습니다.

 

20240221_PMOA_KJM_FINAL_1.sql
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩『조회 쿼리문』▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--============================
--[전체 테이블 조회]
--============================
SELECT *
FROM ALL_TABLES
WHERE OWNER = 'PMOA';
--============================

--============================
--[전체 시퀀스 조회]
--============================
SELECT *
FROM ALL_SEQUENCES
WHERE SEQUENCE_OWNER = 'PMOA';
--============================

--============================
--[전체 제약조건 조회]
--============================
SELECT *
FROM ALL_CONSTRAINTS
WHERE TABLE_NAME = '테이블명';
--============================

--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩『테이블 생성』▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--[개설 신청 게시판 댓글 신고]
--[11 - AOC_REPORT]==========================================
CREATE TABLE "AOC_REPORT" 
( "ACR_CODE"    	VARCHAR2(10)		
, "CONTENT"	    VARCHAR2(4000)		
, "KDATE"	    DATE	        DEFAULT SYSDATE
, "RR_CODE"	    VARCHAR2(10)		
, "AC_CODE"	    VARCHAR2(10)		
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT ACR_PK PRIMARY KEY(ACR_CODE)
);




--[참조키 추가 - AOC_REPORT]*******************************
-- 댓글 코드[AC_CODE], 신고 사유 코드[RR_CODE]
-- 회원 코드[MEM_CODE]


-- AC_CODE : 개설 신청 게시판 댓글(AO_COMMENT)
ALTER TABLE AOC_REPORT
      ADD CONSTRAINT ACR_AC_CODE_FK FOREIGN KEY(AC_CODE)
                                    REFERENCES AO_COMMENT(AC_CODE);
                                    
-- RR_CODE : 콘텐츠 신고 사유(REPORT_REASON)
ALTER TABLE AOC_REPORT
      ADD CONSTRAINT ACR_RR_CODE_FK FOREIGN KEY(RR_CODE)
                                    REFERENCES REPORT_REASON(RR_CODE);
                                    
-- MEM_CODE : 일반 회원(MEMBER)
ALTER TABLE AOC_REPORT
      ADD CONSTRAINT ACR_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

--*******************************************************






--[개설 신청 게시판 댓글 신고 처리]
--[12 - AOC_PROCESS]==========================================
CREATE TABLE "AOC_PROCESS"
( "ACP_CODE"	VARCHAR2(10)		
, "KDATE"	    DATE	        DEFAULT SYSDATE	
, "ADMIN_CODE"	VARCHAR2(10)		
, "PRE_CODE"    	VARCHAR2(10)		
, "ACR_CODE"    	VARCHAR2(10)		
, "PE_CODE"	    VARCHAR2(10)		
, "PTG_CODE"	    VARCHAR2(10)
, CONSTRAINT ACP_PK PRIMARY KEY(ACP_CODE)
);


--[참조키 추가 - AOC_PROCESS]*******************************
-- 관리자 코드[ADMIN_CODE], 처리 사유 코드[PRE_CODE]
-- 패널티 코드[PE_CODE], 처리 코드[PTG_CODE]
-- 댓글 신고 코드[ACR_CODE]


-- ADMIN_CODE : 관리자(ADMIN)
ALTER TABLE AOC_PROCESS
      ADD CONSTRAINT ACP_ADMIN_CODE_FK FOREIGN KEY(ADMIN_CODE)
                                    REFERENCES ADMIN(ADMIN_CODE);

-- PRE_CODE : 처리 사유(P_REASON)
ALTER TABLE AOC_PROCESS
      ADD CONSTRAINT ACP_PRE_CODE_FK FOREIGN KEY(PRE_CODE)
                                    REFERENCES P_REASON(PRE_CODE);

-- PE_CODE : 패널티(PENALTY)
ALTER TABLE AOC_PROCESS
      ADD CONSTRAINT ACP_PE_CODE_FK FOREIGN KEY(PE_CODE)
                                    REFERENCES PENALTY(PE_CODE);

-- PTG_CODE : 처리 대상(P_TARGET)
ALTER TABLE AOC_PROCESS
      ADD CONSTRAINT ACP_PTG_CODE_FK FOREIGN KEY(PTG_CODE)
                                    REFERENCES P_TARGET(PTG_CODE);

-- ACR_CODE : 개설 신청 게시판 댓글 신고(AOC_REPORT)
ALTER TABLE AOC_PROCESS
      ADD CONSTRAINT ACP_Q2R_CODE_FK FOREIGN KEY(ACR_CODE)
                                    REFERENCES AOC_REPORT(ACR_CODE);

--*******************************************************






--[개설신청글 태그]
--[13 - OPEN_TAG]==========================================
CREATE TABLE "OPEN_TAG"
( "OT_CODE"	    VARCHAR2(10)		
, "PL_CODE"	    VARCHAR2(10)		
, "AP_CODE"	    VARCHAR2(10)
, CONSTRAINT OT_PK PRIMARY KEY(OT_CODE)
);



--[참조키 추가 - OPEN_TAG]*******************************
-- 태그 코드(PL_CODE), 개설 신청 코드(AP_CODE)

-- PL_CODE : 프로젝트 주제 태그 목록(PTAG_LIST)
ALTER TABLE OPEN_TAG
      ADD CONSTRAINT OT_PL_CODE_FK FOREIGN KEY(PL_CODE)
                                    REFERENCES PTAG_LIST(PL_CODE);

-- AP_CODE : 개설 신청(APP_OPENING)
ALTER TABLE OPEN_TAG
      ADD CONSTRAINT OT_AP_CODE_FK FOREIGN KEY(AP_CODE)
                                    REFERENCES APP_OPENING(AP_CODE);
      
--*******************************************************


--[개설신청글 태그 목록]
--[14 - OPENTAG_LIST]==========================================
CREATE TABLE "OPENTAG_LIST" 
( "OL_CODE"	    VARCHAR2(10)		
, "NAME"	        VARCHAR2(100)		
, "OT_CODE"	    VARCHAR2(10)		
, CONSTRAINT OL_PK PRIMARY KEY(OL_CODE)
);


--[참조키 추가 - OPENTAG_LIST]*******************************
-- 주제 태그 코드[OT_CODE]

-- OT_CODE : 개설신청글 태그(OPEN_TAG)
ALTER TABLE OPENTAG_LIST
      ADD CONSTRAINT OL_PL_CODE_FK FOREIGN KEY(OT_CODE)
                                    REFERENCES OPEN_TAG(OT_CODE);

--*******************************************************




--[고객센터-FAQ 게시판]
--[20 - FAQ]==========================================

CREATE TABLE "FAQ" 
( "FAQ_CODE"	VARCHAR2(10)		
, "TILTE"	    VARCHAR2(100)		
, "CONTENT"	    VARCHAR2(4000)		
, "KDATE"	    DATE	        DEFAULT SYSDATE
, "ADMIN_CODE"	VARCHAR2(10)	
, CONSTRAINT FAQ_PK PRIMARY KEY(FAQ_CODE)
);

--[참조키 추가 - FAQ]*******************************
-- 관리자 코드[ADMIN_CODE]

-- ADMIN_CODE : 관리자(ADMIN)
ALTER TABLE FAQ
      ADD CONSTRAINT FAQ_ADMIN_CODE_FK FOREIGN KEY(ADMIN_CODE)
                                    REFERENCES ADMIN(ADMIN_CODE);

--****************************************************









--[관리자]
--[21 - ADMIN]==========================================
CREATE TABLE ADMIN
( ADMIN_CODE    VARCHAR2(10)
, KDATE         DATE            DEFAULT SYSDATE
, MEM_CODE      VARCHAR2(10)
, CONSTRAINT ADMIN_PK PRIMARY KEY(ADMIN_CODE)
);
--==>> Table ADMIN이(가) 생성되었습니다.



--[참조키 추가 - ADMIN]*******************************
-- 회원코드 [MEM_CODE]

-- MEM_CODE : 일반회원(MEMBER)
ALTER TABLE ADMIN
      ADD CONSTRAINT AD_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

--****************************************************


--[기술 Q&A 게시판]
--[22 - TECH_QNA]========================================
CREATE TABLE "TECH_QNA"
( "TQ_CODE"	    VARCHAR2(10)		
, "TITLE"	    VARCHAR2(100)		
, "CONTENT"	    VARCHAR2(4000)	
, "KDATE"	    DATE	        DEFAULT SYSDATE	
, "VIEWS"	    NUMBER	        DEFAULT 0	
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT TQ_PK PRIMARY KEY(TQ_CODE)
);
--==>> Table "TECH_QNA"이(가) 생성되었습니다.




--[참조키 추가 - TECH_QNA]*******************************
-- 회원코드 [MEM_CODE]

-- MEM_CODE : 일반회원(MEMBER)
ALTER TABLE TECH_QNA
      ADD CONSTRAINT TQ_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);
--*******************************************************



--[기술 Q&A 게시판 대댓글]
--[23 - TQ_REPLY2]========================================
CREATE TABLE "TQ_REPLY2" 
( "T2_CODE"	    VARCHAR2(10)		
, "KDATE"	    DATE	        DEFAULT SYSDATE
, "COMMENTS"	    VARCHAR2(4000)
, "TC_CODE"	    VARCHAR2(10)	
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT T2_PK PRIMARY KEY(T2_CODE)
);
--==>> Table "TQ_REPLY2"이(가) 생성되었습니다.





--[참조키 추가 - TQ_REPLY2]*******************************
-- 댓글코드 [TC_CODE], 회원코드 [MEM_CODE]

-- TC_CODE : 기술Q&A게시판 댓글(TQ_COMMENT)
ALTER TABLE TQ_REPLY2
      ADD CONSTRAINT T2_TC_CODE_FK FOREIGN KEY(TC_CODE)
                                    REFERENCES TQ_COMMENT(TC_CODE);

-- MEM_CODE : 일반회원(MEMBER)
ALTER TABLE TQ_REPLY2
      ADD CONSTRAINT T2_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);
--*******************************************************



--[기술 Q&A 게시판 대댓글 신고]
--[24 - TQ2_REPORT]========================================
CREATE TABLE "TQ2_REPORT"
( "Q2R_CODE"    	VARCHAR2(10)		
, "CONTENT"	    VARCHAR2(4000)		
, "KDATE"	    DATE	        DEFAULT SYSDATE
, "T2_CODE"	    VARCHAR2(10)		
, "RR_CODE"	    VARCHAR2(10)		
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT Q2R_PK PRIMARY KEY(Q2R_CODE)
);
--==>> Table "TQ2_REPORT"이(가) 생성되었습니다.




--[참조키 추가 - TQ2_REPORT]*******************************
-- 대댓글 코드[T2_CODE], 신고 사유 코드[RR_CODE], 회원 코드[MEM_CODE]

-- T2_CODE : 기술Q&A 게시판 대댓글(TQ_REPLY2)
ALTER TABLE TQ2_REPORT
      ADD CONSTRAINT Q2R_T2_CODE_FK FOREIGN KEY(T2_CODE)
                                    REFERENCES TQ_REPLY2(T2_CODE);

-- RR_CODE : 콘텐츠 신고사유(REPORT_REASON)
ALTER TABLE TQ2_REPORT
      ADD CONSTRAINT Q2R_RR_CODE_FK FOREIGN KEY(RR_CODE)
                                    REFERENCES REPORT_REASON(RR_CODE);

-- MEM_CODE : 일반회원(MEMBER)
ALTER TABLE TQ2_REPORT
      ADD CONSTRAINT Q2R_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

--*******************************************************


--[기술 Q&A 사진]
--[25 - CQNA_PIC]========================================
CREATE TABLE "CQNA_PIC"
( "CQP_CODE"	VARCHAR2(10)
, "PATH"	        VARCHAR2(1000)	
, "TQ_CODE"	    VARCHAR2(10)	
, CONSTRAINT CQP_PK PRIMARY KEY(CQP_CODE)
);
--==>> Table "CQnA_PIC"이(가) 생성되었습니다.


--[참조키 추가 - CQnA_PIC]*******************************
-- 기술 게시물 코드[TQ_CODE]

-- TQ_CODE : 기술 Q&A 게시판(TECH_QNA)
ALTER TABLE CQnA_PIC
      ADD CONSTRAINT CQP_TQ_CODE_FK FOREIGN KEY(TQ_CODE)
                                    REFERENCES TECH_QNA(TQ_CODE);
--*******************************************************


--[기술 Q&A 게시판 신고]
--[26 - TQ_REPORT]========================================
CREATE TABLE "TQ_REPORT"
( "TQR_CODE"    	VARCHAR2(10)		
, "CONTENT"	    VARCHAR2(4000)		
, "KDATE"	    DATE	        DEFAULT SYSDATE	
, "TQ_CODE"	    VARCHAR2(10)		
, "RR_CODE"	    VARCHAR2(10)		
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT TQR_PK PRIMARY KEY(TQR_CODE)
);
--==>> Table "TQ_REPORT"이(가) 생성되었습니다.




--[참조키 추가 - TQ_REPORT]*******************************
-- 기술 게시물 코드[TQ_CODE], 신고 사유 코드[RR_CODE]
-- 회원코드[MEM_CODE]

-- TQ_CODE : 기술 Q&A 게시판(TECH_QNA)
ALTER TABLE TQ_REPORT
      ADD CONSTRAINT TQR_TQ_CODE_FK FOREIGN KEY(TQ_CODE)
                                    REFERENCES TECH_QNA(TQ_CODE);

-- RR_CODE : 콘텐츠 신고 사유(REPORT_REASON)
ALTER TABLE TQ_REPORT
      ADD CONSTRAINT TQR_RR_CODE_FK FOREIGN KEY(RR_CODE)
                                    REFERENCES REPORT_REASON(RR_CODE);

-- MEM_CODE : 일반 회원(MEMBER)
ALTER TABLE TQ_REPORT
      ADD CONSTRAINT TQR_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

--*******************************************************





--[기술 Q&A 게시판 첨부 파일]
--[27 - TQ_FILE]========================================
CREATE TABLE "TQ_FILE" 
( "TQF_CODE"	VARCHAR2(10)		
, "PATH"	        VARCHAR2(1000)		
, "TQ_CODE"	    VARCHAR2(10)
, CONSTRAINT TQF_PK PRIMARY KEY(TQF_CODE)
);
--==>> Table "TQ_FILE"이(가) 생성되었습니다.




--[참조키 추가 - TQ_FILE]*******************************
-- 기술 게시물 코드[TQ_CODE]

-- TQ_CODE : 기술 Q&A 게시판(TECH_QNA)
ALTER TABLE TQ_FILE
      ADD CONSTRAINT TQF_TQ_CODE_FK FOREIGN KEY(TQ_CODE)
                                    REFERENCES TECH_QNA(TQ_CODE);

--*******************************************************





--[기술 Q&A 게시판 신고 처리]
--[28 - TQ_PROCESS]=====================================
CREATE TABLE "TQ_PROCESS" 
( "TQP_CODE"	VARCHAR2(10)		
, "KDATE"	    DATE	        DEFAULT SYSDATE
, "ADMIN_CODE"	VARCHAR2(10)		
, "PRE_CODE"	    VARCHAR2(10)		
, "PE_CODE"	    VARCHAR2(10)		
, "PTG_CODE"	    VARCHAR2(10)		
, "TQR_CODE"    	VARCHAR2(10)	
, CONSTRAINT TQP_PK PRIMARY KEY(TQP_CODE)
);
--==>> Table "TQ_PROCESS"이(가) 생성되었습니다.



--[참조키 추가 - TQ_PROCESS]*******************************
-- 관리자 코드[ADMIN_CODE], 처리 사유 코드[PRE_CODE]
-- 패널티 코드[PE_CODE], 처리 코드[PTG_CODE]
-- 신고 코드[TQR_CODE]


-- ADMIN_CODE : 관리자(ADMIN)
ALTER TABLE TQ_PROCESS
      ADD CONSTRAINT TQP_ADMIN_CODE_FK FOREIGN KEY(ADMIN_CODE)
                                    REFERENCES ADMIN(ADMIN_CODE);

-- PRE_CODE : 처리 사유(P_REASON)
ALTER TABLE TQ_PROCESS
      ADD CONSTRAINT TQP_PRE_CODE_FK FOREIGN KEY(PRE_CODE)
                                    REFERENCES P_REASON(PRE_CODE);

-- PE_CODE : 패널티(PENALTY)
ALTER TABLE TQ_PROCESS
      ADD CONSTRAINT TQP_PE_CODE_FK FOREIGN KEY(PE_CODE)
                                    REFERENCES PENALTY(PE_CODE);

-- PTG_CODE : 처리 대상(P_TARGET)
ALTER TABLE TQ_PROCESS
      ADD CONSTRAINT TQP_PTG_CODE_FK FOREIGN KEY(PTG_CODE)
                                    REFERENCES P_TARGET(PTG_CODE);

-- TQR_CODE : 기술 Q&A 게시판 신고(TQ_REPORT)
ALTER TABLE TQ_PROCESS
      ADD CONSTRAINT TQP_TQR_CODE_FK FOREIGN KEY(TQR_CODE)
                                    REFERENCES TQ_REPORT(TQR_CODE);

--*******************************************************





--[기술 대댓글 신고 처리]
--[29 - TQ2_PROCESS]========================================
CREATE TABLE "TQ2_PROCESS"
( "T2P_CODE"        	VARCHAR2(10)		
, "KDATE"	        DATE	        DEFAULT SYSDATE	
, "Q2R_CODE"	        VARCHAR2(10)		
, "ADMIN_CODE"	    VARCHAR2(10)		
, "PRE_CODE"	        VARCHAR2(10)		
, "PE_CODE"	        VARCHAR2(10)		
, "PTG_CODE"	        VARCHAR2(10)
, CONSTRAINT T2P_PK PRIMARY KEY(T2P_CODE)
);
--==>> Table "TQ2_PROCESS"이(가) 생성되었습니다.



--[참조키 추가 - TQ2_PROCESS]*******************************
-- 관리자 코드[ADMIN_CODE], 처리 사유 코드[PRE_CODE]
-- 패널티 코드[PE_CODE], 처리 코드[PTG_CODE]
-- 신고 코드[Q2R_CODE]


-- ADMIN_CODE : 관리자(ADMIN)
ALTER TABLE TQ2_PROCESS
      ADD CONSTRAINT T2P_ADMIN_CODE_FK FOREIGN KEY(ADMIN_CODE)
                                    REFERENCES ADMIN(ADMIN_CODE);

-- PRE_CODE : 처리 사유(P_REASON)
ALTER TABLE TQ2_PROCESS
      ADD CONSTRAINT T2P_PRE_CODE_FK FOREIGN KEY(PRE_CODE)
                                    REFERENCES P_REASON(PRE_CODE);

-- PE_CODE : 패널티(PENALTY)
ALTER TABLE TQ2_PROCESS
      ADD CONSTRAINT T2P_PE_CODE_FK FOREIGN KEY(PE_CODE)
                                    REFERENCES PENALTY(PE_CODE);

-- PTG_CODE : 처리 대상(P_TARGET)
ALTER TABLE TQ2_PROCESS
      ADD CONSTRAINT T2P_PTG_CODE_FK FOREIGN KEY(PTG_CODE)
                                    REFERENCES P_TARGET(PTG_CODE);

-- Q2R_CODE : 기술 Q&A 게시판 대댓글 신고(TQ2_REPORT)
ALTER TABLE TQ2_PROCESS
      ADD CONSTRAINT T2P_Q2R_CODE_FK FOREIGN KEY(Q2R_CODE)
                                    REFERENCES TQ2_REPORT(Q2R_CODE);

--*******************************************************






--[기술 따봉]
--[30 - TECH_UP]========================================
CREATE TABLE "TECH_UP"
( "TU_CODE"	    VARCHAR2(10)	
, "KDATE"	    DATE            DEFAULT SYSDATE		
, "TC_CODE"	    VARCHAR2(10)		
, CONSTRAINT TU_PK PRIMARY KEY(TU_CODE)
);
--==>> Table "TECH_UP"이(가) 생성되었습니다.

SELECT *
FROM ALL_CONSTRAINTS
WHERE TABLE_NAME = 'TQ2_PROCESS';

--[참조키 추가 - TECH_UP]*******************************
-- 댓글 코드[TC_CODE]


-- TC_CODE : 기술 Q&A 게시판 댓글(TQ_COMMENT)
ALTER TABLE TECH_UP
      ADD CONSTRAINT TU_TC_CODE_FK FOREIGN KEY(TC_CODE)
                                    REFERENCES TQ_COMMENT(TC_CODE);


--*******************************************************






--[기술 Q&A 게시판 댓글]
--[31 - TQ_COMMENT]======================================
CREATE TABLE "TQ_COMMENT"
( "TC_CODE"	    VARCHAR(255)		
, "KDATE"	    DATE	        DEFAULT SYSDATE	
, "COMMENTS"	    VARCHAR2(4000)		
, "TQ_CODE"	    VARCHAR2(10)		
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT TC_PK PRIMARY KEY(TC_CODE)
);
--==>> Table "TQ_COMMENT"이(가) 생성되었습니다.


--[참조키 추가 - TQ_COMMENT]*******************************
-- 기술 게시물 코드[TQ_CODE], 회원 코드[MEM_CODE]


-- TQ_CODE : 기술 Q&A 게시판(TECH_QNA)
ALTER TABLE TQ_COMMENT
      ADD CONSTRAINT TC_TQ_CODE_FK FOREIGN KEY(TQ_CODE)
                                    REFERENCES TECH_QNA(TQ_CODE);

-- MEM_CODE : 일반 회원(MEMBER)
ALTER TABLE TQ_COMMENT
      ADD CONSTRAINT TC_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

--*******************************************************





--[기술 Q&A 게시판 댓글 신고]
--[32 - TQC_REPORT]=======================================
CREATE TABLE "TQC_REPORT" 
( "QCR_CODE"	    VARCHAR2(10)		
, "CONTENT"	    VARCHAR2(4000)		
, "KDATE"	    DATE	DEFAULT SYSDATE	
, "TC_CODE"	    VARCHAR2(10)		
, "RR_CODE"	    VARCHAR2(10)		
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT QCR_PK PRIMARY KEY(QCR_CODE)
);
--==>> Table "TQC_REPORT"이(가) 생성되었습니다.

--[참조키 추가 - TQC_REPORT]*******************************
-- 댓글 코드[TC_CODE], 신고 사유 코드[RR_CODE]
-- 회원 코드[MEM_CODE]


-- TC_CODE : 기술 Q&A 게시판 댓글(TQ_COMMENT)
ALTER TABLE TQC_REPORT
      ADD CONSTRAINT QCR_TC_CODE_FK FOREIGN KEY(TC_CODE)
                                    REFERENCES TQ_COMMENT(TC_CODE);
                                    
-- RR_CODE : 콘텐츠 신고 사유(REPORT_REASON)
ALTER TABLE TQC_REPORT
      ADD CONSTRAINT QCR_RR_CODE_FK FOREIGN KEY(RR_CODE)
                                    REFERENCES REPORT_REASON(RR_CODE);
                                    
-- MEM_CODE : 일반 회원(MEMBER)
ALTER TABLE TQC_REPORT
      ADD CONSTRAINT QCR_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

--*******************************************************




--[기술 게시판 댓글 신고 처리]
--[33 - TQC_PROCESS]=======================================
CREATE TABLE "TQC_PROCESS"
( "TCP_CODE"	VARCHAR2(10)		
, "KDATE"	    DATE	        DEFAULT SYSDATE	
, "ADMIN_CODE"	VARCHAR2(10)		
, "PRE_CODE"	    VARCHAR2(10)		
, "QCR_CODE"	    VARCHAR2(10)		
, "PE_CODE"	    VARCHAR2(10)		
, "PTG_CODE"	    VARCHAR2(10)	
, CONSTRAINT TCP_PK PRIMARY KEY(TCP_CODE)
);
--==>> Table "TQC_PROCESS"이(가) 생성되었습니다.


--[참조키 추가 - TQC_PROCESS]*******************************
-- 관리자 코드[ADMIN_CODE], 처리 사유 코드[PRE_CODE]
-- 패널티 코드[PE_CODE], 처리 코드[PTG_CODE]
-- 신고 코드[QCR_CODE]


-- ADMIN_CODE : 관리자(ADMIN)
ALTER TABLE TQC_PROCESS
      ADD CONSTRAINT TCP_ADMIN_CODE_FK FOREIGN KEY(ADMIN_CODE)
                                    REFERENCES ADMIN(ADMIN_CODE);

-- PRE_CODE : 처리 사유(P_REASON)
ALTER TABLE TQC_PROCESS
      ADD CONSTRAINT TCP_PRE_CODE_FK FOREIGN KEY(PRE_CODE)
                                    REFERENCES P_REASON(PRE_CODE);

-- PE_CODE : 패널티(PENALTY)
ALTER TABLE TQC_PROCESS
      ADD CONSTRAINT TCP_PE_CODE_FK FOREIGN KEY(PE_CODE)
                                    REFERENCES PENALTY(PE_CODE);

-- PTG_CODE : 처리 대상(P_TARGET)
ALTER TABLE TQC_PROCESS
      ADD CONSTRAINT TCP_PTG_CODE_FK FOREIGN KEY(PTG_CODE)
                                    REFERENCES P_TARGET(PTG_CODE);

-- QCR_CODE : 기술 Q&A 게시판 댓글 신고(TQC_REPORT)
ALTER TABLE TQC_PROCESS
      ADD CONSTRAINT TCP_QCR_CODE_FK FOREIGN KEY(QCR_CODE)
                                    REFERENCES TQC_REPORT(QCR_CODE);

--*******************************************************





--[단계]
--[34 - STEP]==============================================
CREATE TABLE "STEP"
( "ST_CODE"	    VARCHAR2(10)		
, "STEP"        	VARCHAR2(50)
, CONSTRAINT ST_PK PRIMARY KEY(ST_CODE)
);
--==>> Table "STEP"이(가) 생성되었습니다.




--[등급]
--[35 - GRADE]============================================
CREATE TABLE "GRADE"
("GRADE_CODE"	    VARCHAR2(10)	
, "NAME"	            VARCHAR2(50)
, "MIN"	            NUMBER		
, "MAX"	            NUMBER
, "MAX_PROJECT"     NUMBER
, CONSTRAINT GRADE_PK PRIMARY KEY(GRADE_CODE)
);
--==>> Table "GRADE"이(가) 생성되었습니다.



--[등급 필터링]
--[36 - G_FILTER]=========================================
CREATE TABLE "G_FILTER" 
( "GF_CODE"	VARCHAR2(10)		
, "GRADE_CODE"	VARCHAR2(10)		
, "MR_CODE"	VARCHAR2(10)		
, "AP_CODE"	VARCHAR2(10)		
, CONSTRAINT GF_PK PRIMARY KEY(GF_CODE)
);
--==>> Table "G_FILTER"이(가) 생성되었습니다.


--[참조키 추가 - G_FILTER]*******************************
-- 등급 코드[GRADE_CODE], 직무 코드[MR_CODE]
-- 개설 신청 코드[AP_CODE]

-- GRADE_CODE : 등급(GRADE)
ALTER TABLE G_FILTER
      ADD CONSTRAINT GF_GRADE_CODE_FK FOREIGN KEY(GRADE_CODE)
                                    REFERENCES GRADE(GRADE_CODE);

-- MR_CODE : 직무(MEMBER_ROLE)
ALTER TABLE G_FILTER
      ADD CONSTRAINT GF_MR_CODE_FK FOREIGN KEY(MR_CODE)
                                    REFERENCES MEMBER_ROLE(MR_CODE);

-- AP_CODE : 개설 신청(APP_OPENING)
ALTER TABLE G_FILTER
      ADD CONSTRAINT GF_AP_CODE_FK FOREIGN KEY(AP_CODE)
                                    REFERENCES APP_OPENING(AP_CODE);

--*******************************************************





--[링크]
--[37 - LINK]==================================================
CREATE TABLE "LINK"
( "LINK_CODE"	VARCHAR2(10)		
, "LINK"	        VARCHAR2(1000)		
, "MEM_CODE"	VARCHAR2(10)	
, CONSTRAINT LINK_PK PRIMARY KEY(LINK_CODE)
);
--==>> Table "LINK"이(가) 생성되었습니다.


--[참조키 추가 - LINK]***********************************
-- 회원코드[MEM_CODE]

-- MEM_CODE : 일반회원(MEMBER)
ALTER TABLE LINK
      ADD CONSTRAINT LINK_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

--*******************************************************





--[마일스톤]
--[38 - MILESTONE]=============================================
CREATE TABLE "MILESTONE"
( "MS_CODE"	VARCHAR2(10)		
, "CP_CODE"	VARCHAR2(10)	
, CONSTRAINT MS_PK PRIMARY KEY(MS_CODE)
);
--==>> Table "MILESTONE"이(가) 생성되었습니다.


--[참조키 추가 - MILESTONE]*******************************
-- 프로젝트 코드[CP_CODE]

-- CP_CODE : 프로젝트(개설확정) (C_PROJECT)
ALTER TABLE MILESTONE
      ADD CONSTRAINT MS_CP_CODE_FK FOREIGN KEY(CP_CODE)
                                    REFERENCES C_PROJECT(CP_CODE);

--*******************************************************




--[매너 점수 필터링]
--[39 - MS_FILTER]===============================================
CREATE TABLE "MS_FILTER" 
( "MSF_CODE"	    VARCHAR2(10)		
, "MIN"	        NUMBER		
, "AP_CODE"	    VARCHAR2(10)	
, CONSTRAINT MSF_PK PRIMARY KEY(MSF_CODE)
);
--==>> Table "MS_FILTER"이(가) 생성되었습니다.

--[참조키 추가 - MS_FILTER]*******************************
-- 개설 신청 코드[AP_CODE]

-- AP_CODE : 개설 신청 (APP_OPENING)
ALTER TABLE MS_FILTER
      ADD CONSTRAINT MSF_CP_CODE_FK FOREIGN KEY(AP_CODE)
                                    REFERENCES APP_OPENING(AP_CODE);

--*******************************************************




--[멤버 지원]
--[40 - MEMBER_APPLY]=========================================
CREATE TABLE "MEMBER_APPLY" 
( "MA_CODE"	    VARCHAR2(10)		
, "CONTENT"	    VARCHAR2(4000)		
, "KDATE"	    DATE	        DEFAULT SYSDATE
, "DDATE"	    DATE		
, "MEM_CODE"	VARCHAR2(10)		
, "RC_CODE"	    VARCHAR2(10)		
, "AR_CODE"	    VARCHAR2(10)	
, CONSTRAINT MA_PK PRIMARY KEY(MA_CODE)
);
--==>> Table "MEMBER_APPLY"이(가) 생성되었습니다.


--[참조키 추가 - MEMBER_APPLY]*******************************
-- 회원코드[MEM_CODE], 직무 구성 코드[RC_CODE]
-- 결과 코드[AR_CODE]

-- MEM_CODE : 일반 회원(MEMBER)
ALTER TABLE MEMBER_APPLY
      ADD CONSTRAINT MA_MEM_CODE_FK FOREIGN KEY(MEM_CODE)
                                    REFERENCES MEMBER(MEM_CODE);

-- RC_CODE : 팀원별 직무 구성(ROLE_COMP)
ALTER TABLE MEMBER_APPLY
      ADD CONSTRAINT MA_RC_CODE_FK FOREIGN KEY(RC_CODE)
                                    REFERENCES ROLE_COMP(RC_CODE);

-- AR_CODE : 지원 결과(A_RESULT)
ALTER TABLE MEMBER_APPLY
      ADD CONSTRAINT MA_AR_CODE_FK FOREIGN KEY(AR_CODE)
                                    REFERENCES A_RESULT(AR_CODE);
                                    
--*******************************************************





--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩『시퀀스 생성』▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--*************************************************
--*****************[추가한 시퀀스]*****************
--*************************************************






--[AO_REPLY2 시퀀스]
--[7 - A2_SEQ]
CREATE SEQUENCE A2_SEQ
START WITH 1
NOCACHE;
--==>> Sequence A2_SEQ이(가) 생성되었습니다.


--[AO2_REPORT 시퀀스]
--[8 - A2R_SEQ]
CREATE SEQUENCE A2R_SEQ
START WITH 1
NOCACHE;
--==>> Sequence A2R_SEQ이(가) 생성되었습니다.


--[AO2_PROCESS 시퀀스]
--[9 - A2P_SEQ]
CREATE SEQUENCE A2P_SEQ
START WITH 1
NOCACHE;
--==>> Sequence A2P_SEQ이(가) 생성되었습니다.



--[AOC_REPORT 시퀀스]
--[11 - ACR_SEQ]
CREATE SEQUENCE ACR_SEQ
START WITH 1
NOCACHE;
--==>> Sequence ACR_SEQ이(가) 생성되었습니다.


--[AOC_PROCESS 시퀀스]
--[12 - ACP_SEQ]
CREATE SEQUENCE ACP_SEQ
START WITH 1
NOCACHE;
--==>> Sequence ACP_SEQ이(가) 생성되었습니다.

--[OPEN_TAG 시퀀스]
--[13 - OT_SEQ]
CREATE SEQUENCE OT_SEQ
START WITH 1
NOCACHE;
--==>> Sequence OT_SEQ이(가) 생성되었습니다.

--[OPENTAG_LIST 시퀀스]
--[14 - OL_SEQ]
CREATE SEQUENCE OL_SEQ
START WITH 1
NOCACHE;
--==>> Sequence OL_SEQ이(가) 생성되었습니다.

--[FINAL_REPORT 시퀀스]
--[15 - FR_SEQ]
CREATE SEQUENCE FR_SEQ
START WITH 1
NOCACHE;
--==>> Sequence FR_SEQ이(가) 생성되었습니다.

--[CAUTION 시퀀스]
--[16 - CT_SEQ]
CREATE SEQUENCE CT_SEQ
START WITH 1
NOCACHE;
--==>> Sequence CT_SEQ이(가) 생성되었습니다.

--[CAREER 시퀀스]
--[17 - C_SEQ]
CREATE SEQUENCE C_SEQ
START WITH 1
NOCACHE;
--==>> Sequence C_SEQ이(가) 생성되었습니다.

--[INQUIRY 시퀀스]
--[18 - IQ_SEQ]
CREATE SEQUENCE IQ_SEQ
START WITH 1
NOCACHE;
--==>> Sequence IQ_SEQ이(가) 생성되었습니다.

--[PROTEST 시퀀스]
--[19 - PROTEST_SEQ]
CREATE SEQUENCE PROTEST_SEQ
START WITH 1
NOCACHE;
--==>> Sequence PROTEST_SEQ이(가) 생성되었습니다.

--[FAQ 시퀀스]
--[20 - FAQ_SEQ]
CREATE SEQUENCE FAQ_SEQ
START WITH 1
NOCACHE;
--==>> Sequence FAQ_SEQ이(가) 생성되었습니다.




--[ADMIN 시퀀스]
--[21 - ADMIN_SEQ]
CREATE SEQUENCE ADMIN_SEQ
START WITH 1
NOCACHE;
--==>> Sequence ADMIN_SEQ이(가) 생성되었습니다.

--[TECH_QnA 시퀀스]
--[22 - TQ_SEQ]
CREATE SEQUENCE TQ_SEQ
START WITH 1
NOCACHE;
--==>> Sequence TQ_SEQ이(가) 생성되었습니다.


--[TQ_REPLY2 시퀀스]
--[23 - T2_SEQ]
CREATE SEQUENCE T2_SEQ
START WITH 1
NOCACHE;
--==>> Sequence T2_SEQ이(가) 생성되었습니다.


--[TQ2_REPORT 시퀀스]
--[24 - Q2R_SEQ]
CREATE SEQUENCE Q2R_SEQ
START WITH 1
NOCACHE;
--==>> Sequence Q2R_SEQ이(가) 생성되었습니다.


--[CQnA_PIC 시퀀스]
--[25 - CQP_SEQ]
CREATE SEQUENCE CQP_SEQ
START WITH 1
NOCACHE;
--==>> Sequence CQP_SEQ이(가) 생성되었습니다.


--[TQ_REPORT 시퀀스]
--[26 - TQR_SEQ]
CREATE SEQUENCE TQR_SEQ
START WITH 1
NOCACHE;
--==>> Sequence TQR_SEQ이(가) 생성되었습니다.


--[TQ_FILE 시퀀스]
--[27 - TQF_SEQ]
CREATE SEQUENCE TQF_SEQ
START WITH 1
NOCACHE;
--==>> Sequence TQF_SEQ이(가) 생성되었습니다.

--[TQ_PROCESS 시퀀스]
--[28 - TQP_SEQ]
CREATE SEQUENCE TQP_SEQ
START WITH 1
NOCACHE;
--==>> Sequence TQP_SEQ이(가) 생성되었습니다.

--[TQ2_PROCESS 시퀀스]
--[29 - T2P_SEQ]
CREATE SEQUENCE T2P_SEQ
START WITH 1
NOCACHE;
--==>> Sequence T2P_SEQ이(가) 생성되었습니다.

--[TECH_UP 시퀀스]
--[30 - TU_SEQ]
CREATE SEQUENCE TU_SEQ
START WITH 1
NOCACHE;
--==>> Sequence TU_SEQ이(가) 생성되었습니다.


--[TQ_COMMENT 시퀀스]
--[31 - TC_SEQ]
CREATE SEQUENCE TC_SEQ
START WITH 1
NOCACHE;
--==>> Sequence TC_SEQ이(가) 생성되었습니다.

--[TQC_REPORT 시퀀스]
--[32 - QCR_SEQ]
CREATE SEQUENCE QCR_SEQ
START WITH 1
NOCACHE;
--==>> Sequence QCR_SEQ이(가) 생성되었습니다.


--[TQC_PROCESS 시퀀스]
--[33 - TCP_SEQ]
CREATE SEQUENCE TCP_SEQ
START WITH 1
NOCACHE;
--==>> Sequence TCP_SEQ이(가) 생성되었습니다.

--[STEP 시퀀스]
--[34 - ST_SEQ]
CREATE SEQUENCE ST_SEQ
START WITH 1
NOCACHE;
--==>> Sequence ST_SEQ이(가) 생성되었습니다.

--[GRADE 시퀀스]
--[35 - GRADE_SEQ]
CREATE SEQUENCE GRADE_SEQ
START WITH 1
NOCACHE;
--==>> Sequence GRADE_SEQ이(가) 생성되었습니다.

--[G_FILTER 시퀀스]
--[36 - GF_SEQ]
CREATE SEQUENCE GF_SEQ
START WITH 1
NOCACHE;
--==>> Sequence GF_SEQ이(가) 생성되었습니다.


--[LINK 시퀀스]
--[37 - LINK_SEQ]
CREATE SEQUENCE LINK_SEQ
START WITH 1
NOCACHE;
--==>> Sequence LINK_SEQ이(가) 생성되었습니다.

--[MILESTONE 시퀀스]
--[38 - MS_SEQ]
CREATE SEQUENCE MS_SEQ
START WITH 1
NOCACHE;
--==>> Sequence MS_SEQ이(가) 생성되었습니다.

--[MS_FILTER 시퀀스]
--[39 - MSF_SEQ]
CREATE SEQUENCE MSF_SEQ
START WITH 1
NOCACHE;
--==>> Sequence MSF_SEQ이(가) 생성되었습니다.

--[MEMBER_APPLY 시퀀스]
--[40 - MA_SEQ]
CREATE SEQUENCE MA_SEQ
START WITH 1
NOCACHE;
--==>> Sequence MA_SEQ이(가) 생성되었습니다.

20240223_PMOA_KJM_FINAL_2.sql
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩『가데이터 넣기』▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩


SELECT USER
FROM DUAL;
--==>> PMOA


--====================================
--[시퀀스 조회]
--====================================
SELECT *
FROM USER_SEQUENCES
WHERE SEQUENCE_NAME = 'MA_SEQ';
--==>>
/*
MA_SEQ	1	9999999999999999999999999999	1	N	N	0	1
*/
--====================================


--======================================
--[CODE 에 넣을 코드 형식]
--======================================
SELECT TO_CHAR('MA' || LPAD(MA_SEQ.NEXTVAL, 4, '0')) AS "MA_CODE"
FROM DUAL;
--======================================






--=======================================================
--[테이블 구조 조회]
--=======================================================
DESC MEMBER_APPLY;
--==>>
/*
이름       널?       유형             
-------- -------- -------------- 
MA_CODE  NOT NULL VARCHAR2(10)   -- 멤버 지원 코드
CONTENT           VARCHAR2(4000) -- 포부
KDATE             DATE          -- 지원일
DDATE             DATE          -- 결정일
MEM_CODE          VARCHAR2(10)   -- 회원 코드
RC_CODE           VARCHAR2(10)   -- 직무 구성 코드
AR_CODE           VARCHAR2(10)   -- 결과 코드
*/
--=======================================================


--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--===================================
--[멤버 지원 테이블 - MEMBER_APPLY]
-- 가데이터 입력
--===================================
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩


--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
--【개설 신청 코드 - 1번】
--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

--[① 팀장 입력] - QWE 이윤수
INSERT INTO MEMBER_APPLY
                (MA_CODE, CONTENT, KDATE, DDATE
               , MEM_CODE
               , RC_CODE
               , AR_CODE)
       VALUES   (TO_CHAR('MA' || LPAD(MA_SEQ.NEXTVAL, 4, '0'))
               , '팀장이 되었다 ㅎㅎ'
               , SYSDATE
               , NULL
               , TO_CHAR('MEM' || LPAD(1, 4, '0'))
               , TO_CHAR('RC' || LPAD(1, 4, '0'))
               , TO_CHAR('AR' || LPAD(0, 4, '0')));

--[② 백엔드 1 입력] - ASD 제갈윤수
INSERT INTO MEMBER_APPLY
                (MA_CODE, CONTENT, KDATE, DDATE
               , MEM_CODE
               , RC_CODE
               , AR_CODE)
       VALUES   (TO_CHAR('MA' || LPAD(MA_SEQ.NEXTVAL, 4, '0'))
               , '열심히 하겠습니다.'
               , SYSDATE
               , NULL
               , TO_CHAR('MEM' || LPAD(2, 4, '0'))
               , TO_CHAR('RC' || LPAD(2, 4, '0'))
               , TO_CHAR('AR' || LPAD(0, 4, '0')));

--[② 백엔드 2 입력] - ZXC 사공윤수
INSERT INTO MEMBER_APPLY
                (MA_CODE, CONTENT, KDATE, DDATE
               , MEM_CODE
               , RC_CODE
               , AR_CODE)
       VALUES   (TO_CHAR('MA' || LPAD(MA_SEQ.NEXTVAL, 4, '0'))
               , '백엔드 최정상을 향해~'
               , SYSDATE
               , NULL
               , TO_CHAR('MEM' || LPAD(3, 4, '0'))
               , TO_CHAR('RC' || LPAD(2, 4, '0'))
               , TO_CHAR('AR' || LPAD(0, 4, '0')));

--[③ 프론트엔드 1 입력] - RTY 김윤수
INSERT INTO MEMBER_APPLY
                (MA_CODE, CONTENT, KDATE, DDATE
               , MEM_CODE
               , RC_CODE
               , AR_CODE)
       VALUES   (TO_CHAR('MA' || LPAD(MA_SEQ.NEXTVAL, 4, '0'))
               , '저는 CSS 마스터입니다!'
               , SYSDATE
               , NULL
               , TO_CHAR('MEM' || LPAD(4, 4, '0'))
               , TO_CHAR('RC' || LPAD(3, 4, '0'))
               , TO_CHAR('AR' || LPAD(0, 4, '0')));

--[③ 프론트엔드 2 입력] - CVB 박윤수
INSERT INTO MEMBER_APPLY
                (MA_CODE, CONTENT, KDATE, DDATE
               , MEM_CODE
               , RC_CODE
               , AR_CODE)
       VALUES   (TO_CHAR('MA' || LPAD(MA_SEQ.NEXTVAL, 4, '0'))
               , '웹 디자인은 내게 맡겨!'
               , SYSDATE
               , NULL
               , TO_CHAR('MEM' || LPAD(5, 4, '0'))
               , TO_CHAR('RC' || LPAD(3, 4, '0'))
               , TO_CHAR('AR' || LPAD(0, 4, '0')));


--==>> 1 행 이(가) 삽입되었습니다. * 5


--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
--【개설 신청 코드 - 2번】
--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

-- 회원, 직무, 결과

--[① 팀장 입력] - FGH 최윤수
INSERT INTO MEMBER_APPLY
                (MA_CODE, CONTENT, KDATE, DDATE
               , MEM_CODE
               , RC_CODE
               , AR_CODE)
       VALUES   (TO_CHAR('MA' || LPAD(MA_SEQ.NEXTVAL, 4, '0'))
               , '내가 팀장이노? ㅎㅎ~'
               , SYSDATE
               , NULL
               , TO_CHAR('MEM' || LPAD(6, 4, '0'))
               , TO_CHAR('RC' || LPAD(4, 4, '0'))
               , TO_CHAR('AR' || LPAD(0, 4, '0')));


--[② 백엔드 입력] - VBN 남궁윤수
INSERT INTO MEMBER_APPLY
                (MA_CODE, CONTENT, KDATE, DDATE
               , MEM_CODE
               , RC_CODE
               , AR_CODE)
       VALUES   (TO_CHAR('MA' || LPAD(MA_SEQ.NEXTVAL, 4, '0'))
               , '백백백~ 컴백~'
               , SYSDATE
               , NULL
               , TO_CHAR('MEM' || LPAD(7, 4, '0'))
               , TO_CHAR('RC' || LPAD(5, 4, '0'))
               , TO_CHAR('AR' || LPAD(0, 4, '0')));



--[② 백엔드 입력] - UIO 정윤수
INSERT INTO MEMBER_APPLY
                (MA_CODE, CONTENT, KDATE, DDATE
               , MEM_CODE
               , RC_CODE
               , AR_CODE)
       VALUES   (TO_CHAR('MA' || LPAD(MA_SEQ.NEXTVAL, 4, '0'))
               , '백엔드 대통령'
               , SYSDATE
               , NULL
               , TO_CHAR('MEM' || LPAD(8, 4, '0'))
               , TO_CHAR('RC' || LPAD(5, 4, '0'))
               , TO_CHAR('AR' || LPAD(0, 4, '0')));


--[③ 프론트엔드 입력] - QWER 장윤수
INSERT INTO MEMBER_APPLY
                (MA_CODE, CONTENT, KDATE, DDATE
               , MEM_CODE, RC_CODE, AR_CODE)
       VALUES   (TO_CHAR('MA' || LPAD(MA_SEQ.NEXTVAL, 4, '0'))
               , '프로로로론 프로로론'
               , SYSDATE
               , NULL
               , TO_CHAR('MEM' || LPAD(9, 4, '0'))
               , TO_CHAR('RC' || LPAD(6, 4, '0'))
               , TO_CHAR('AR' || LPAD(0, 4, '0')));
               

--****************************************************
--[멤버 지원 & 팀원별 직무 구성 & 직무 테이블 JOIN]
--****************************************************
SELECT *
FROM MEMBER_APPLY MA
INNER JOIN ROLE_COMP RC
ON MA.RC_CODE = RC.RC_CODE
INNER JOIN MEMBER_ROLE MR
ON RC.MR_CODE = MR.MR_CODE;
--****************************************************


--**************************************
--[일반 회원 테이블(MEMBER) 조회]
--**************************************
SELECT *
FROM MEMBER;
--**************************************


--**************************************
--[개설 신청 테이블(MEMBER) 조회]
--**************************************
SELECT *
FROM APP_OPENING;
--**************************************



--**********************************************
--[팀원별 직무 구성 테이블(ROLE_COMP) 조회]
--**********************************************
SELECT *
FROM ROLE_COMP
ORDER BY RC_CODE;
--**********************************************


--**********************************************
--[직무 테이블(MEMBER_ROLE) 조회]
--**********************************************
SELECT *
FROM MEMBER_ROLE
ORDER BY MR_CODE;
--**********************************************


--**************************************
--[지원 결과 테이블(A_RESULT) 조회]
--**************************************
SELECT *
FROM A_RESULT;
--**************************************

--**************************************
--[개설 신청 테이블(APP_OPENING) 조회]
--**************************************
SELECT *
FROM APP_OPENING;
--**************************************



SELECT *
FROM PJ_MILE_VIEW;




--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩『트리거 생성 - 마일스톤 자동 INSERT』▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩


CREATE OR REPLACE TRIGGER TRG_MILES
        AFTER
        INSERT ON C_PROJECT
BEGIN

       INSERT INTO MILESTONE(MS_CODE, CP_CODE)
       VALUES(TO_CHAR('MS' || LPAD(MS_SEQ.NEXTVAL, 4, '0'))
            , TO_CHAR('CP' || LPAD(CP_SEQ.CURRVAL, 4, '0')));  

END;

--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩







--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--===================================
--[업무 보고서 테이블 - B_REPORT]
-- 가데이터 입력
--===================================
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩


--=======================================================
--[테이블 구조 조회]
--=======================================================
DESC B_REPORT;
--==>>
/*
이름        널?       유형             
--------- -------- -------------- 
BR_CODE   NOT NULL VARCHAR2(10)     -- 업무 보고서 코드
KDATE              DATE            -- 작성 일자
CONTENT            VARCHAR2(4000)   -- 진행 내용
SUMMARY            VARCHAR2(4000)   -- 요약
TASK_CODE          VARCHAR2(10)     -- 태스크 코드
BR_CODE2           VARCHAR2(10)     -- 회신 코드 참조
*/
--=======================================================


INSERT INTO B_REPORT(BR_CODE, KDATE, CONTENT
                   , SUMMARY
                   , TASK_CODE
                   , BR_CODE2)
       VALUES       (TO_CHAR('BR' || LPAD(BR_SEQ.NEXTVAL, 4, '0'))
                   , TO_DATE('2024-06-14', 'YYYY-MM-DD')
                   , '저는 정말정말 열심히 했습니다.'
                   , '짱열심히함!'
                   , TO_CHAR('TASK' || LPAD(1, 4, '0'))
                   , NULL);


INSERT INTO B_REPORT(BR_CODE, KDATE, CONTENT
                   , SUMMARY
                   , TASK_CODE
                   , BR_CODE2)
       VALUES       (TO_CHAR('BR' || LPAD(BR_SEQ.NEXTVAL, 4, '0'))
                   , TO_DATE('2024-06-01', 'YYYY-MM-DD')
                   , 'ERD 왜케 어렵눙 ㅠㅠ'
                   , '너무 어려워요'
                   , TO_CHAR('TASK' || LPAD(2, 4, '0'))
                   , NULL);


INSERT INTO B_REPORT(BR_CODE, KDATE, CONTENT
                   , SUMMARY, TASK_CODE, BR_CODE2)
       VALUES       (TO_CHAR('BR' || LPAD(BR_SEQ.NEXTVAL, 4, '0'))
                   , TO_DATE('2024-06-10', 'YYYY-MM-DD')
                   , '완벽한 뷰페이지 작업 『완. 료.★』'
                   , '완벽ㅎㅎ'
                   , TO_CHAR('TASK' || LPAD(1, 4, '0'))
                   , NULL);



--**************************************
--[태스크 테이블(TASK) 조회]
--**************************************
SELECT *
FROM TASK;
--**************************************

SELECT *
FROM B_REPORT;

SELECT *
FROM USER_CONSTRAINTS
WHERE TABLE_NAME = 'C_PROJECT';

SELECT *
FROM MEMBER;

SELECT *
FROM C_PROJECT;

20240229_PMOA_KJM.sql

 

SELECT USER
FROM DUAL;
--==>> PMOA

--=========================================================
--[혜성 오빠거 프로시저 고치기]============================
--=========================================================
--
--CREATE OR REPLACE PROCEDURE MEMBER_JOIN
--(
--   V_ID    IN VARCHAR2,
--   V_PW    IN VARCHAR2,
--   V_EMAIL  IN VARCHAR2
--)
--IS
--BEGIN 
--   INSERT INTO MEMBER (MEM_CODE, ID, PW, NICKNAME, MBTI_CODE) VALUES(TO_CHAR('MEM' || LPAD(MEM_SEQ.NEXTVAL, 4, '0')), V_ID, V_PW, V_ID, 'MBTI0008');
--   INSERT INTO MEM_INFO (MI_CODE, EMAIL, MEM_CODE, GENDER_CODE) VALUES(TO_CHAR('MI' || LPAD(MI_SEQ.NEXTVAL, 4, '0')), V_EMAIL, TO_CHAR('MEM' || LPAD(MEM_SEQ.CURRVAL, 4, '0')), 'GENDER0001');
--
--END;
--
--EXEC MEMBER_JOIN('TEST001', '1234', 'HELLO@GMAIL.COM');

--=========================================================
--=========================================================
--=========================================================

--=========================================================
--[길님의 댓글 개수 구하기 쿼리문 도와주기 ㅎㅎ]===========
--=========================================================


--SELECT CT.TC_NUM + CT.TT_NUM    AS 총댓글
--     , CT.MEM_CODE              AS 멤버코드
--FROM 
--(
--    SELECT (
--                SELECT COUNT(TC.TC_CODE)
--                FROM MEMBER m1 LEFT JOIN TQ_COMMENT tc ON m1.MEM_CODE = tc.MEM_CODE
--                WHERE M1.MEM_CODE = M.MEM_CODE
--                GROUP BY m1.MEM_CODE
--                
--            ) AS TC_NUM
--            ,
--            (
--                SELECT COUNT(tr.T2_CODE) AS TT_COUNT
--                FROM MEMBER m2 LEFT JOIN TQ_REPLY2 tr  ON m2.MEM_CODE = tr.MEM_CODE
--                WHERE M2.MEM_CODE = M.MEM_CODE
--                GROUP BY m2.MEM_CODE
--            ) AS TT_NUM
--            , M.MEM_CODE AS MEM_CODE
--    FROM MEMBER M
--) CT;

--=========================================================
--=========================================================
--=========================================================




--[필요한 데이터 정리]

--『공개여부 : 0 - 공개, 1 - 비공개』

--○ 프로필 사진
--○ 닉네임 
--○ 이메일 / 이메일 블라인드 여부
--○ 백엔드 스킬 점수, 프론트엔드 스킬 점수, 매너 점수
--○ 성별 / 성별 블라인드 여부
--○ 생년월일 / 생년월일 블라인드 여부
--○ MBTI
--○ Skill 태그

--『CareerDTO』
--○ 경력 - 회사명, 직종, 근무기간, 총 근무기간 / 경력 블라인드 여부
--『PjHistoryDTO』
--○ 참여한 프로젝트
--    - 프로젝트명, 담당직무, 프로젝트 요약, 프로젝트 기간, 완료 여부
--    - 완료 / 미완료 프로젝트 비율


--***[미완료]***
--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
--▒▒▒▒▒▒[프로필 사진 가데이터 입력]▒▒▒▒▒▒
--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

INSERT INTO PROFILE(PI_CODE, PATH, MEM_CODE)
VALUES (TO_CHAR('PI' || LPAD(PI_SEQ.NEXTVAL, 4, '0')), '???', 'MEM0001');


--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
--▒▒▒▒▒▒[스킬 태그 가데이터 입력]▒▒▒▒▒▒▒
--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

INSERT INTO SKILL_TAG(KT_CODE, MEM_CODE, TAG_NAME)
VALUES (TO_CHAR('KT' || LPAD(KT_SEQ.NEXTVAL, 4, '0')), 'MEM0001', 'Java');

INSERT INTO SKILL_TAG(KT_CODE, MEM_CODE, TAG_NAME)
VALUES (TO_CHAR('KT' || LPAD(KT_SEQ.NEXTVAL, 4, '0')), 'MEM0001', 'Oracle');

INSERT INTO SKILL_TAG(KT_CODE, MEM_CODE, TAG_NAME)
VALUES (TO_CHAR('KT' || LPAD(KT_SEQ.NEXTVAL, 4, '0')), 'MEM0001', 'Mybatis');

INSERT INTO SKILL_TAG(KT_CODE, MEM_CODE, TAG_NAME)
VALUES (TO_CHAR('KT' || LPAD(KT_SEQ.NEXTVAL, 4, '0')), 'MEM0001', 'HTML');

INSERT INTO SKILL_TAG(KT_CODE, MEM_CODE, TAG_NAME)
VALUES (TO_CHAR('KT' || LPAD(KT_SEQ.NEXTVAL, 4, '0')), 'MEM0001', 'CSS');


--[스킬태그 조회]======
SELECT *
FROM SKILL_TAG;
--=====================
--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒


--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
--▒▒▒▒▒▒▒▒[경력 가데이터 입력]▒▒▒▒▒▒▒▒
--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

SELECT *
FROM CAREER
WHERE MI_CODE = 'MI0001';

INSERT INTO CAREER(C_CODE, NAME
                 , KDATE, ISC_OPEN
                 , SDATE, EDATE, MI_CODE)
VALUES (TO_CHAR('C' || LPAD(C_SEQ.NEXTVAL, 4, '0')), '애플힙디자인 헬스장'
      , SYSDATE, 0
      , TO_DATE('2022-08-15', 'YYYY-MM-DD'), TO_DATE('2023-02-19', 'YYYY-MM-DD'), 'MI0001');
--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
--▒▒▒▒▒▒▒▒[기술 Q&A 가데이터 입력]▒▒▒▒▒▒▒▒
--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

INSERT INTO C_QNA(CQ_CODE, TITLE
                , CONTENT
                , KDATE, VIEWS, MEM_CODE)
VALUES (TO_CHAR('CQ' || LPAD(CQ_SEQ.NEXTVAL, 4, '0')), '아...삼일절에도 코딩한다꼬?!'
      , '하...바람 오질라게부네~! 근데... 이거 프로젝트 게시판인데... 배치 어떻노? 텍스트 크기랑 공백 신경써봤는디~ㅎㅎ ο(=?ω<=)ρ⌒☆'
      , TO_DATE('2024-03-01', 'YYYY-MM-DD'), 7, 'MEM0001');
--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒


--***[미완료]***
--[프로필 사진]========================================

SELECT PI.*
FROM MEMBER M
     INNER JOIN PROFILE PI
        ON M.MEM_CODE = PI.MEM_CODE
WHERE M.MEM_CODE = 'MEM0001';
--=====================================================


--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--○ 닉네임 
--○ 이메일 / 이메일 블라인드 여부
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--[닉네임]=====================================

SELECT NICKNAME
FROM MEMBER
WHERE MEM_CODE = 'MEM0001';
--==>> 이윤수


--[이메일 / 이메일 공개여부 = 0(공개)]===================

SELECT MI.EMAIL     AS EMAIL
FROM MEMBER M
     INNER JOIN MEM_INFO MI
        ON M.MEM_CODE = MI.MEM_CODE
WHERE M.MEM_CODE = 'MEM0001';
--==>> QWE@TEST.COM

SELECT MI.ISE_OPEN  AS EMAIL_OPEN
FROM MEMBER M
     INNER JOIN MEM_INFO MI
        ON M.MEM_CODE = MI.MEM_CODE
WHERE M.MEM_CODE = 'MEM0001';
--==>> 0 (공개)

--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--○ 백엔드 스킬 점수, 프론트엔드 스킬 점수, 매너 점수
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--[백엔드 스킬 점수]==========================

SELECT 1000 + NVL(SUM(EV.SCORE), 0) AS BACK_SCORE
FROM MEMBER M
     INNER JOIN MEMBER_APPLY MA       
        ON M.MEM_CODE = MA.MEM_CODE 
     INNER JOIN ROLE_COMP RC           
        ON MA.RC_CODE = RC.RC_CODE
     INNER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
     INNER JOIN EVALUATION EV
        ON MA.MA_CODE = EV.MA_CODEP
     INNER JOIN EV_DEVISION ED
        ON EV.ED_CODE = ED.ED_CODE
WHERE M.MEM_CODE = 'MEM0001'
  AND MR.MR_CODE = 'MR0002'
  AND ED.ED_CODE = 'ED0001';
--==>> 1006


--[백엔드 점수 상위 30명인지 확인 - 『숲』 등급]
--[백엔드 스킬 점수]==========================

SELECT 1000 + NVL(SUM(EV.SCORE), 0) AS BACK_SCORE
FROM MEMBER M
     INNER JOIN MEMBER_APPLY MA       
        ON M.MEM_CODE = MA.MEM_CODE 
     INNER JOIN ROLE_COMP RC           
        ON MA.RC_CODE = RC.RC_CODE
     INNER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
     INNER JOIN EVALUATION EV
        ON MA.MA_CODE = EV.MA_CODEP
     INNER JOIN EV_DEVISION ED
        ON EV.ED_CODE = ED.ED_CODE
WHERE MR.MR_CODE = 'MR0002'
  AND ED.ED_CODE = 'ED0001';
  

--[백엔드로 프로젝트에 참여한 경험이 있는 회원의 점수] 
SELECT M.MEM_CODE   AS 회원코드
     , M.NICKNAME   AS 닉네임
     , MR.MR_CODE   AS 직무코드
     , MR.ROLE      AS 직무
     , ED.ED_CODE   AS 점수구별코드
     , ED.DIVISION  AS 점수구별
     , 1000 + NVL(SUM(EV.SCORE), 0)     AS 점수
FROM MEMBER M
     LEFT OUTER JOIN MEMBER_APPLY MA
        ON M.MEM_CODE = MA.MEM_CODE
     LEFT OUTER JOIN ROLE_COMP RC
        ON MA.RC_CODE = RC.RC_CODE
     LEFT OUTER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
     LEFT OUTER JOIN EVALUATION EV
        ON MA.MA_CODE = EV.MA_CODEP
     LEFT OUTER JOIN EV_DEVISION ED
        ON EV.ED_CODE = ED.ED_CODE
WHERE MR.MR_CODE = 'MR0002'

GROUP BY M.MEM_CODE, M.NICKNAME, MR.MR_CODE, MR.ROLE, ED.ED_CODE, ED.DIVISION
ORDER BY M.MEM_CODE;


--[백엔드로 프로젝트에 참여한 경험이 없는 회원의 점수 - 기본값]
SELECT M.MEM_CODE   AS 회원코드
     , M.NICKNAME   AS 닉네임
     , MR.MR_CODE   AS 직무코드
     , MR.ROLE      AS 직무
FROM MEMBER M
     LEFT OUTER JOIN MEMBER_APPLY MA
        ON M.MEM_CODE = MA.MEM_CODE
     LEFT OUTER JOIN ROLE_COMP RC
        ON MA.RC_CODE = RC.RC_CODE
     LEFT OUTER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
     LEFT OUTER JOIN EVALUATION EV
        ON MA.MA_CODE = EV.MA_CODEP
     LEFT JOIN EV_DEVISION ED
        ON EV.ED_CODE = ED.ED_CODE
       AND ED.ED_CODE = 'ED0001'
WHERE MR.MR_CODE != 'MR0002'
   OR MR.MR_CODE IS NULL
GROUP BY M.MEM_CODE, M.NICKNAME, MR.MR_CODE, MR.ROLE
ORDER BY M.MEM_CODE;
  

--[인원수 안 맞아서 백엔드 참여 인원 찾기]
SELECT M.NICKNAME, MR.ROLE
FROM MEMBER M
     LEFT OUTER JOIN MEMBER_APPLY MA
        ON M.MEM_CODE = MA.MEM_CODE
     LEFT OUTER JOIN ROLE_COMP RC
        ON MA.RC_CODE = RC.RC_CODE
     LEFT OUTER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
     LEFT OUTER JOIN EVALUATION EV
        ON MA.MA_CODE = EV.MA_CODEP
     LEFT JOIN EV_DEVISION ED
        ON EV.ED_CODE = ED.ED_CODE
WHERE MR.ROLE = '백엔드'
GROUP BY M.NICKNAME,  MR.ROLE;



--[프론트엔드 스킬 점수]======================

SELECT 1000 + NVL(SUM(EV.SCORE), 0) AS FRONT_SCORE
FROM MEMBER M
     INNER JOIN MEMBER_APPLY MA       
        ON M.MEM_CODE = MA.MEM_CODE 
     INNER JOIN ROLE_COMP RC           
        ON MA.RC_CODE = RC.RC_CODE
     INNER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
     INNER JOIN EVALUATION EV
        ON MA.MA_CODE = EV.MA_CODEP
     INNER JOIN EV_DEVISION ED
        ON EV.ED_CODE = ED.ED_CODE
WHERE M.MEM_CODE = 'MEM0001'
  AND MR.MR_CODE = 'MR0003'
  AND ED.ED_CODE = 'ED0001';
--==>> 1000


--[매너 점수]==================================
  

SELECT 36.5 + NVL(SUM(DECODE(EV.SCORE
                        , 5, 0.2
                        , 4, 0.1
                        , 3, 0
                        , 2, -0.1
                        , 1, -0.2)), 0) AS MANNER_SCORE
FROM MEMBER M
     INNER JOIN MEMBER_APPLY MA       
        ON M.MEM_CODE = MA.MEM_CODE 
     INNER JOIN ROLE_COMP RC           
        ON MA.RC_CODE = RC.RC_CODE
     INNER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
     INNER JOIN EVALUATION EV
        ON MA.MA_CODE = EV.MA_CODEP
     INNER JOIN EV_DEVISION ED
        ON EV.ED_CODE = ED.ED_CODE
WHERE M.MEM_CODE = 'MEM0030'
  AND ED.ED_CODE = 'ED0002';
--==>> 36.4





        
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--○ 성별 / 성별 블라인드 여부
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--[성별 / 성별 공개여부 = 0(공개)]========================

SELECT G.GENDER     AS GENDER
FROM MEMBER M
     INNER JOIN MEM_INFO MI
        ON M.MEM_CODE = MI.MEM_CODE
     INNER JOIN GENDER G
        ON MI.GENDER_CODE = G.GENDER_CODE
WHERE M.MEM_CODE = 'MEM0001';
--==>> 남성


SELECT MI.ISG_OPEN  AS GENDER_OPEN
FROM MEMBER M
     INNER JOIN MEM_INFO MI
        ON M.MEM_CODE = MI.MEM_CODE
     INNER JOIN GENDER G
        ON MI.GENDER_CODE = G.GENDER_CODE
WHERE M.MEM_CODE = 'MEM0001';
--==>> 0 (공개)



--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--○ 생년월일 / 생년월일 블라인드 여부
--○ MBTI
--○ SKILL
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--[생년월일 / 생년월일 공개여부 = 0(공개)]===============

SELECT TO_CHAR(MI.BDAY, 'YYYY"년" FMMM"월" DD"일"') AS BIRTH_DAY
FROM MEMBER M
     INNER JOIN MEM_INFO MI
        ON M.MEM_CODE = MI.MEM_CODE
WHERE M.MEM_CODE = 'MEM0001';
--==>> 1995년 1월 6일


SELECT MI.ISB_OPEN  AS BIRTH_OPEN
FROM MEMBER M
     INNER JOIN MEM_INFO MI
        ON M.MEM_CODE = MI.MEM_CODE
WHERE M.MEM_CODE = 'MEM0001';
--==>> 0 (공개)

--[MBTI]======================================

SELECT MBTI.MBTI AS MBTI 
FROM MEMBER M
     INNER JOIN MBTI MBTI
     ON M.MBTI_CODE = MBTI.MBTI_CODE
WHERE M.MEM_CODE = 'MEM0001';
--==>> INFP




--[Skill-Tag]=====================================

SELECT TAG_NAME AS SKILL_TAG
FROM MEMBER M
     INNER JOIN SKILL_TAG KT
        ON M.MEM_CODE = KT.MEM_CODE
WHERE M.MEM_CODE = 'MEM0001';
--==>> 
/*
Java
Oracle
Mybatis
HTML
CSS
*/


--[별도의 『MyPage_CareerDTO』 로 구성]
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--○ 경력 - 회사명, 입사일, 퇴사일, 총 근무기간 / 경력 블라인드 여부
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--[경력 / 경력 공개여부 = 0(공개)]================================





--① [회사명, 입사일, 퇴사일, 근속년월 구하기]==================================
SELECT CT.회사명 AS COMPANY_NAME
     , CT.입사일 AS JOIN_DATE
     , CT.퇴사일 AS LEAVE_DATE
     , CT.근속년 AS WORKED_YEAR
     , CT.근속월 AS WORKED_MONTH
FROM
(
    SELECT C.NAME                         AS 회사명
         , TO_CHAR(C.SDATE, 'YYYY.FMMM')  AS 입사일
         , TO_CHAR(C.EDATE, 'YYYY.FMMM')  AS 퇴사일
         , TRUNC((C.EDATE - C.SDATE) / 365) AS 근속년
         , TRUNC(MOD(MONTHS_BETWEEN(C.EDATE, C.SDATE), 12)) AS 근속월
    FROM MEMBER M
         INNER JOIN MEM_INFO MI
            ON M.MEM_CODE = MI.MEM_CODE
         INNER JOIN CAREER C
            ON MI.MI_CODE = C.MI_CODE
    WHERE M.MEM_CODE = 'MEM0001'
      AND C.ISC_OPEN = 0
) CT;

--==>>
/*
농심	            2022.1	2024.3	2	2
애플힙디자인 헬스장	2022.8	2023.2	0	6
옥장판세일즈	    2023.7	2023.12	0	4
*/


--② [총 근속일수 구하기]=======================================================

SELECT NVL(SUM(CT.근속년), 0)
     , NVL(SUM(CT.근속월), 0)
FROM
(
    SELECT C.NAME                                           AS 회사명
         , TO_CHAR(C.SDATE, 'YYYY.FMMM')                    AS 입사일
         , TO_CHAR(C.EDATE, 'YYYY.FMMM')                    AS 퇴사일
         , TRUNC(MONTHS_BETWEEN(C.EDATE, C.SDATE) / 12)     AS 근속년
         , TRUNC(MOD(MONTHS_BETWEEN(C.EDATE, C.SDATE), 12)) AS 근속월
         , M.MEM_CODE                                      AS 회원코드                                    
    FROM MEMBER M
         INNER JOIN MEM_INFO MI
            ON M.MEM_CODE = MI.MEM_CODE
         INNER JOIN CAREER C
            ON MI.MI_CODE = C.MI_CODE
    WHERE M.MEM_CODE = 'MEM0063'
      AND C.ISC_OPEN = 0
) CT;
--==============================================================================

--★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
--③ [하나의 DTO로 구성하기 위해 통합]==========================================
--★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

SELECT C.NAME                                           AS COMPANY_NAME
     , TO_CHAR(C.SDATE, 'YYYY.FMMM')                    AS JOIN_DATE
     , TO_CHAR(C.EDATE, 'YYYY.FMMM')                    AS LEAVE_DATE
     , TRUNC(MONTHS_BETWEEN(C.EDATE, C.SDATE) / 12)     AS WORKED_YEAR
     , TRUNC(MOD(MONTHS_BETWEEN(C.EDATE, C.SDATE), 12)) AS WORKED_MONTH
     , 
     (
        SELECT SUM(CT.근속년)
        FROM
        (
            SELECT TRUNC(MONTHS_BETWEEN(C.EDATE, C.SDATE) / 12)     AS 근속년                                    
            FROM MEMBER M
                 INNER JOIN MEM_INFO MI
                    ON M.MEM_CODE = MI.MEM_CODE
                 INNER JOIN CAREER C
                    ON MI.MI_CODE = C.MI_CODE
            WHERE M.MEM_CODE = 'MEM0063'
              AND C.ISC_OPEN = 0
        ) CT
        
     )  AS TOT_WORKED_YEAR
     ,
     (
        SELECT SUM(CT.근속월)
        FROM
        (
            SELECT TRUNC(MOD(MONTHS_BETWEEN(C.EDATE, C.SDATE), 12)) AS 근속월                               
            FROM MEMBER M
                 INNER JOIN MEM_INFO MI
                    ON M.MEM_CODE = MI.MEM_CODE
                 INNER JOIN CAREER C
                    ON MI.MI_CODE = C.MI_CODE
            WHERE M.MEM_CODE = 'MEM0063'
              AND C.ISC_OPEN = 0
        ) CT
        
     )  AS TOT_WORKED_MONTH
     
FROM MEMBER M
     INNER JOIN MEM_INFO MI
        ON M.MEM_CODE = MI.MEM_CODE
     INNER JOIN CAREER C
        ON MI.MI_CODE = C.MI_CODE
WHERE M.MEM_CODE = 'MEM0063'
  AND C.ISC_OPEN = 0;


--[별도의 『MyPage_PjHistoryDTO』 로 구성]
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--○ 참여한 프로젝트
--    - 프로젝트명, 담당직무, 프로젝트 요약, 프로젝트 기간, 완료 여부
--    - 완료 / 미완료 프로젝트 비율
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

SELECT AP.PRJ_NAME                              AS PRJ_NAME
     , MR.ROLE                                  AS PRJ_ROLE
     , AP.SUMMARY                               AS PRJ_SUMMARY
     , TO_CHAR(AP.SDATE, 'YYYY.MM.DD')          AS PRJ_START_DATE
     , TO_CHAR(AP.EDATE, 'YYYY.MM.DD')          AS PRJ_END_DATE
     , DECODE(FR.TITLE, NULL, '미완료', '완료') AS PRJ_COMPLETE
FROM MEMBER M
     INNER JOIN MEMBER_APPLY MA
        ON M.MEM_CODE = MA.MEM_CODE
     INNER JOIN ROLE_COMP RC
        ON MA.RC_CODE = RC.RC_CODE
     INNER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
     INNER JOIN APP_OPENING AP
        ON RC.AP_CODE = AP.AP_CODE
     INNER JOIN C_PROJECT CP
        ON AP.AP_CODE = CP.AP_CODE
     INNER JOIN FINAL_REPORT FR
        ON CP.CP_CODE = FR.CP_CODE
WHERE M.MEM_CODE = 'MEM0001'
  AND AR_CODE = 'AR0000';



--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
-- 마이페이지 - 2페이지
-- ▶ 본인이 작성한 게시글
--    =====================
--    [   기술 Q&A 게시판 ]
--    [ 커리어 Q&A 게시판 ]
--    =====================
--    → 최신순 정렬
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--[뷰페이지에 보여줄 항목 SELECT 연습]==========================================
SELECT '커리어'                                     AS POST_CLASS
     , CQ.CQ_CODE                                   AS POST_NUMBER
     , CQ.TITLE                                     AS POST_TITLE
     , CQ.KDATE                                     AS POST_CREATION_DATE
     , TO_CHAR(CQ.KDATE, 'YYYY-MM-DD HH24:MI:SS')    AS REAL_POST_DATE
     , TRUNC(MONTHS_BETWEEN(SYSDATE, CQ.KDATE))      AS POST_PREV_MONTH
     , TRUNC(SYSDATE - CQ.KDATE)                    AS POST_PREV_DAY
     , TRUNC(MOD((SYSDATE - CQ.KDATE) * 24, 24))    AS POST_PREV_HOUR
     , TRUNC(MOD(MOD((SYSDATE - CQ.KDATE) * 24, 24) * 60, 60)) AS POST_PREV_MINUTE
     , CQ.VIEWS                                     AS POST_VIEWS
     , M.NICKNAME                                   AS NICKNAME
FROM MEMBER M
     INNER JOIN C_QNA CQ
        ON M.MEM_CODE = CQ.MEM_CODE
WHERE M.MEM_CODE = 'MEM0001';

--[게시판에 달린 댓글 개수 가져오기]============================================

--『커리어 게시판』===========================
SELECT CQ.CQ_CODE
FROM MEMBER M
     INNER JOIN C_QNA CQ
        ON M.MEM_CODE = CQ.MEM_CODE
     INNER JOIN CQ_COMMENT CQC
        ON CQ.CQ_CODE = CQC.CQ_CODE
WHERE M.MEM_CODE = 'MEM0001';

--『기술 게시판』===========================
SELECT TQ.TQ_CODE
FROM MEMBER M
     INNER JOIN TECH_QNA TQ
        ON M.MEM_CODE = TQ.MEM_CODE
     INNER JOIN TQ_COMMENT TC
        ON TQ.TQ_CODE = TC.TQ_CODE
WHERE M.MEM_CODE = 'MEM0001';




--[게시글 코멘트 개수 서브 상단쿼리 구성 테스트]================================

SELECT '커리어'                                      AS POST_CLASS
         , CQ.CQ_CODE                                   AS POST_NUMBER
         , CQ.TITLE                                     AS POST_TITLE
         , CQ.KDATE                                     AS POST_CREATION_DATE
         , TO_CHAR(CQ.KDATE, 'YYYY-MM-DD HH24:MI:SS')   AS POST_REAL_WRITE_DATE
         , TRUNC(MONTHS_BETWEEN(SYSDATE, CQ.KDATE))     AS POST_PREV_MONTH
         , TRUNC(SYSDATE - CQ.KDATE)                    AS POST_PREV_DAY
         , TRUNC(MOD((SYSDATE - CQ.KDATE) * 24, 24))    AS POST_PREV_HOUR
         , TRUNC(MOD(MOD((SYSDATE - CQ.KDATE) * 24, 24) * 60, 60)) AS POST_PREV_MINUTE
         , CQ.VIEWS                                     AS POST_VIEWS
         , M.NICKNAME                                   AS NICKNAME
         , M.MEM_CODE                                   AS MEM_CODE
         ,
         (
            SELECT COUNT(CQ2.CQ_CODE)
            FROM MEMBER M
                 INNER JOIN C_QNA CQ2
                    ON M.MEM_CODE = CQ2.MEM_CODE
                 INNER JOIN CQ_COMMENT CQC
                    ON CQ2.CQ_CODE = CQC.CQ_CODE
            WHERE M.MEM_CODE = 'MEM0001'
              AND CQ2.CQ_CODE = CQ.CQ_CODE
         ) AS POST_COMMENT_COUNT
    FROM MEMBER M
         INNER JOIN C_QNA CQ
            ON M.MEM_CODE = CQ.MEM_CODE
    WHERE M.MEM_CODE = 'MEM0001';



--[기술 QNA, 커리어 QNA 게시글 통합]============================================

SELECT MY_POST.POST_CLASS               AS POST_CLASS
     , MY_POST.POST_NUMBER              AS POST_NUMBER
     , MY_POST.POST_TITLE               AS POST_TITLE
     , MY_POST.POST_CREATION_DATE       AS POST_CREATION_DATE
     , MY_POST.POST_REAL_WRITE_DATE     AS POST_REAL_WRITE_DATE
     , MY_POST.POST_PREV_MONTH          AS POST_PREV_MONTH
     , MY_POST.POST_PREV_DAY            AS POST_PREV_DAY
     , MY_POST.POST_PREV_HOUR           AS POST_PREV_HOUR
     , MY_POST.POST_PREV_MINUTE         AS POST_PREV_MINUTE
     , MY_POST.POST_VIEWS               AS POST_VIEWS
     , MY_POST.NICKNAME                 AS NICKNAME
     , MY_POST.MEM_CODE                 AS MEM_CODE
     , MY_POST.POST_COMMENT_COUNT       AS POST_COMMENT_COUNT
FROM 
(
   SELECT '커리어'                                      AS POST_CLASS
         , CQ.CQ_CODE                                   AS POST_NUMBER
         , CQ.TITLE                                     AS POST_TITLE
         , CQ.KDATE                                     AS POST_CREATION_DATE
         , TO_CHAR(CQ.KDATE, 'YYYY-MM-DD HH24:MI:SS')   AS POST_REAL_WRITE_DATE
         , TRUNC(MONTHS_BETWEEN(SYSDATE, CQ.KDATE))     AS POST_PREV_MONTH
         , TRUNC(SYSDATE - CQ.KDATE)                    AS POST_PREV_DAY
         , TRUNC(MOD((SYSDATE - CQ.KDATE) * 24, 24))    AS POST_PREV_HOUR
         , TRUNC(MOD(MOD((SYSDATE - CQ.KDATE) * 24, 24) * 60, 60)) AS POST_PREV_MINUTE
         , CQ.VIEWS                                     AS POST_VIEWS
         , M.NICKNAME                                   AS NICKNAME
         , M.MEM_CODE                                   AS MEM_CODE
         ,
         (
            SELECT COUNT(CQ2.CQ_CODE)
            FROM MEMBER M
                 INNER JOIN C_QNA CQ2
                    ON M.MEM_CODE = CQ2.MEM_CODE
                 INNER JOIN CQ_COMMENT CQC
                    ON CQ2.CQ_CODE = CQC.CQ_CODE
            WHERE M.MEM_CODE = 'MEM0001'
              AND CQ2.CQ_CODE = CQ.CQ_CODE
         ) AS POST_COMMENT_COUNT
    FROM MEMBER M
         INNER JOIN C_QNA CQ
            ON M.MEM_CODE = CQ.MEM_CODE
            
    UNION ALL
    
   SELECT '기술'                                    
         , TQ.TQ_CODE                                 
         , TQ.TITLE                                     
         , TQ.KDATE                                     
         , TO_CHAR(TQ.KDATE, 'YYYY-MM-DD HH24:MI:SS')    
         , TRUNC(MONTHS_BETWEEN(SYSDATE, TQ.KDATE))     
         , TRUNC(SYSDATE - TQ.KDATE)                    
         , TRUNC(MOD((SYSDATE - TQ.KDATE) * 24, 24))    
         , TRUNC(MOD(MOD((SYSDATE - TQ.KDATE) * 24, 24) * 60, 60)) 
         , TQ.VIEWS                                    
         , M.NICKNAME             
         , M.MEM_CODE  
         ,
         (
            SELECT COUNT(TQ2.TQ_CODE)
            FROM MEMBER M
                 INNER JOIN TECH_QNA TQ2
                    ON M.MEM_CODE = TQ2.MEM_CODE
                 INNER JOIN TQ_COMMENT TC
                    ON TQ2.TQ_CODE = TC.TQ_CODE
            WHERE M.MEM_CODE = 'MEM0001'
              AND TQ2.TQ_CODE = TQ.TQ_CODE
         ) AS POST_COMMENT_COUNT
    FROM MEMBER M
         INNER JOIN TECH_QNA TQ
            ON M.MEM_CODE = TQ.MEM_CODE
    
) MY_POST
WHERE MY_POST.MEM_CODE = 'MEM0001'
ORDER BY MY_POST.POST_CREATION_DATE;
--==============================================================================


--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
-- 마이페이지 - 3페이지
-- ▶ 본인이 작성한 댓글
--    =====================
--    [   기술 Q&A 게시판 ]
--    [ 커리어 Q&A 게시판 ]
--    =====================
--    → 최신순 정렬
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--[커리어 댓글 조회 테스트]=====================================================
SELECT '커리어'                                     AS COMMENT_CLASS
     , CQ.TITLE                                     AS COMMENT_POST_TITLE
     , CQC.COMMENTS                                 AS COMMENT_CONTENT
     , CU.CU_CODE                                   AS COMMENT_UP_CODE
     , M.NICKNAME                                   AS NICKNAME
     , TO_CHAR(CQC.KDATE, 'YYYY-MM-DD HH24:MI:SS')   AS POST_REAL_WRITE_DATE
     , TRUNC(MONTHS_BETWEEN(SYSDATE, CQC.KDATE))     AS POST_PREV_MONTH
     , TRUNC(SYSDATE - CQC.KDATE)                    AS POST_PREV_DAY
     , TRUNC(MOD((SYSDATE - CQC.KDATE) * 24, 24))    AS POST_PREV_HOUR
     , TRUNC(MOD(MOD((SYSDATE - CQC.KDATE) * 24, 24) * 60, 60)) AS POST_PREV_MINUTE
     , M.MEM_CODE               AS MEM_CODE
FROM MEMBER M
     INNER JOIN CQ_COMMENT CQC
        ON M.MEM_CODE = CQC.MEM_CODE
     INNER JOIN C_QNA CQ
        ON CQC.CQ_CODE = CQ.CQ_CODE
     LEFT OUTER JOIN CAREER_UP CU
        ON CQC.CQC_CODE = CU.CQC_CODE;
               




SELECT ALL_CMT.COMMENT_CLASS            AS COMMENT_CLASS
     , ALL_CMT.COMMENT_POST_TITLE       AS COMMENT_POST_TITLE
     , ALL_CMT.COMMENT_CONTENT          AS COMMENT_CONTENT
     , ALL_CMT.NICKNAME                 AS NICKNAME
     , ALL_CMT.COMMENT_UP_COUNT         AS COMMENT_UP_COUNT
     , ALL_CMT.COMMENT_REAL_WRITE_DATE  AS COMMENT_REAL_WRITE_DATE
     , ALL_CMT.COMMENT_PREV_MONTH       AS COMMENT_PREV_MONTH
     , ALL_CMT.COMMENT_PREV_DAY         AS COMMENT_PREV_DAY
     , ALL_CMT.COMMENT_PREV_HOUR        AS COMMENT_PREV_HOUR
     , ALL_CMT.COMMENT_PREV_MINUTE      AS COMMENT_PREV_MINUTE
FROM
(
    SELECT CMT.COMMENT_CLASS            AS COMMENT_CLASS
         , CMT.COMMENT_POST_TITLE       AS COMMENT_POST_TITLE
         , CMT.COMMENT_CONTENT          AS COMMENT_CONTENT
         , CMT.NICKNAME                 AS NICKNAME
         , CMT.MEM_CODE                 AS MEM_CODE
         , COUNT(CMT.COMMENT_UP_CODE)   AS COMMENT_UP_COUNT
         , CMT.COMMENT_REAL_WRITE_DATE  AS COMMENT_REAL_WRITE_DATE
         , CMT.COMMENT_PREV_MONTH       AS COMMENT_PREV_MONTH
         , CMT.COMMENT_PREV_DAY         AS COMMENT_PREV_DAY
         , CMT.COMMENT_PREV_HOUR        AS COMMENT_PREV_HOUR
         , CMT.COMMENT_PREV_MINUTE      AS COMMENT_PREV_MINUTE
    FROM
    (
        SELECT '커리어'                 AS COMMENT_CLASS
             , CQ.TITLE                 AS COMMENT_POST_TITLE
             , CQC.COMMENTS             AS COMMENT_CONTENT
             , CU.CU_CODE               AS COMMENT_UP_CODE
             , M.NICKNAME               AS NICKNAME
             , TO_CHAR(CQC.KDATE, 'YYYY-MM-DD HH24:MI:SS')              AS COMMENT_REAL_WRITE_DATE
             , TRUNC(MONTHS_BETWEEN(SYSDATE, CQC.KDATE))                AS COMMENT_PREV_MONTH
             , TRUNC(SYSDATE - CQC.KDATE)                               AS COMMENT_PREV_DAY
             , TRUNC(MOD((SYSDATE - CQC.KDATE) * 24, 24))               AS COMMENT_PREV_HOUR
             , TRUNC(MOD(MOD((SYSDATE - CQC.KDATE) * 24, 24) * 60, 60)) AS COMMENT_PREV_MINUTE
             , M.MEM_CODE               AS MEM_CODE
        FROM MEMBER M
             INNER JOIN CQ_COMMENT CQC
                ON M.MEM_CODE = CQC.MEM_CODE
             INNER JOIN C_QNA CQ
                ON CQC.CQ_CODE = CQ.CQ_CODE
             LEFT OUTER JOIN CAREER_UP CU
                ON CQC.CQC_CODE = CU.CQC_CODE
    ) CMT
    GROUP BY CMT.COMMENT_CLASS, CMT.COMMENT_POST_TITLE, CMT.COMMENT_CONTENT, CMT.NICKNAME
           , CMT.MEM_CODE
           , CMT.COMMENT_REAL_WRITE_DATE
           , CMT.COMMENT_PREV_MONTH
           , CMT.COMMENT_PREV_DAY
           , CMT.COMMENT_PREV_HOUR
           , CMT.COMMENT_PREV_MINUTE
    
    UNION ALL
    
    SELECT CMT.COMMENT_CLASS           
         , CMT.COMMENT_POST_TITLE      
         , CMT.COMMENT_CONTENT          
         , CMT.NICKNAME          
         , CMT.MEM_CODE
         , COUNT(CMT.COMMENT_UP_CODE)
         , CMT.COMMENT_REAL_WRITE_DATE
         , CMT.COMMENT_PREV_MONTH
         , CMT.COMMENT_PREV_DAY
         , CMT.COMMENT_PREV_HOUR
         , CMT.COMMENT_PREV_MINUTE
         
    FROM
    (
        SELECT '기술'                   AS COMMENT_CLASS
             , TQ.TITLE                 AS COMMENT_POST_TITLE
             , TC.COMMENTS              AS COMMENT_CONTENT
             , TU.TU_CODE               AS COMMENT_UP_CODE
             , M.NICKNAME               AS NICKNAME
             , M.MEM_CODE               AS MEM_CODE
             , TO_CHAR(TC.KDATE, 'YYYY-MM-DD HH24:MI:SS')              AS COMMENT_REAL_WRITE_DATE
             , TRUNC(MONTHS_BETWEEN(SYSDATE, TC.KDATE))                AS COMMENT_PREV_MONTH
             , TRUNC(SYSDATE - TC.KDATE)                               AS COMMENT_PREV_DAY
             , TRUNC(MOD((SYSDATE - TC.KDATE) * 24, 24))               AS COMMENT_PREV_HOUR
             , TRUNC(MOD(MOD((SYSDATE - TC.KDATE) * 24, 24) * 60, 60)) AS COMMENT_PREV_MINUTE
        FROM MEMBER M
             INNER JOIN TQ_COMMENT TC
                ON M.MEM_CODE = TC.MEM_CODE
             INNER JOIN TECH_QNA TQ
                ON TC.TQ_CODE = TQ.TQ_CODE
             LEFT OUTER JOIN TECH_UP TU
                ON TC.TC_CODE = TU.TC_CODE
    ) CMT
    GROUP BY CMT.COMMENT_CLASS, CMT.COMMENT_POST_TITLE, CMT.COMMENT_CONTENT, CMT.NICKNAME
             , CMT.MEM_CODE
             , CMT.COMMENT_REAL_WRITE_DATE
             , CMT.COMMENT_PREV_MONTH
             , CMT.COMMENT_PREV_DAY
             , CMT.COMMENT_PREV_HOUR
             , CMT.COMMENT_PREV_MINUTE

) ALL_CMT
WHERE ALL_CMT.MEM_CODE = 'MEM0001';



--

SELECT *
FROM CHECKLIST CK
     INNER JOIN STEP ST
        ON CK.ST_CODE = ST.ST_CODE
     INNER JOIN CHECKLIST_CHECK CC
        ON CK.CC_CODE = CC.CC_CODE
     INNER JOIN MEMBER_APPLY MA
        ON CK.MA_CODE = MA.MA_CODE
     INNER JOIN MEMBER M
        ON MA.MEM_CODE = M.MEM_CODE;

20240308_PMOA_KJM.sql
SELECT USER
FROM DUAL;
--==>> PMOA;

--[한울님꺼 좋아요 해보깅 ㅎㅎ]=================================================
SELECT P.P_CODE AS P_CODE, A.PRJ_NAME AS PRJ_NAME, P.TITLE AS TITLE, P.CONTENT AS CONTENT, P.VIEWS AS VIEWS
        ,
        (
            SELECT NVL(COUNT(*), 0) AS PORTFOLIO_LIKE
            FROM POFOL_UP PU2
                 INNER JOIN PORTFOLIO PF2
                    ON PU2.P_CODE = PF2.P_CODE
            WHERE PF2.P_CODE = P.P_CODE
        ) AS PORTFOLIO_LIKE
        
		FROM PORTFOLIO P, C_PROJECT C, APP_OPENING A, POFOL_UP U
		WHERE P.CP_CODE = C.CP_CODE
  		AND C.AP_CODE = A.AP_CODE
  		AND P.P_CODE = U.P_CODE(+)
		GROUP BY P.P_CODE, A.PRJ_NAME, P.TITLE, P.CONTENT, P.VIEWS;
--==============================================================================


--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
--▒▒▒▒▒▒[체크리스트 가데이터 입력]▒▒▒▒▒▒
--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
SELECT *
FROM CHECKLIST;

INSERT INTO CHECKLIST(CK_CODE, CONTENT
                    , KDATE, ST_CODE, MS_CODE
                    , CC_CODE, MA_CODE)
VALUES (TO_CHAR('CK' || LPAD(CK_SEQ.NEXTVAL, 4, '0')), '테스트용 마일스톤 체크리스트 가데이터 입력'
                    , SYSDATE, 'ST0004', 'MS0001'
                    , 'CC0001', 'MA0001');

--▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

--○ 프로젝트 참여 인원 조회 뷰
SELECT *
FROM OPEN_PRJ_MEMBERS_VIEW
WHERE 개설확정코드 = 'CP0001';

--○ 프로젝트 마일스톤 체크리스트 조회 뷰
SELECT *
FROM PJ_MILE_VIEW
WHERE PRJ_CP_CODE = 'CP0001';


--================================================
--『데이터 INSERT시 참고할 뷰 생성』
--==>> 【OPEN_PRJ_MEMBERS_VIEW】
--      : 개설확정된 프로젝트의 참여 인원들을 조회
--================================================

CREATE OR REPLACE VIEW OPEN_PRJ_MEMBERS_VIEW
AS
SELECT M.MEM_CODE   AS "회원코드"
     , M.NICKNAME   AS "닉네임"
     , MA.MA_CODE   AS "멤버지원코드"
     , AR.RESULT    AS "합격여부"
     , MR.ROLE      AS "담당직무"
     , AP.PRJ_NAME  AS "프로젝트명"
     , AP.SDATE     AS "프로젝트시작일"
     , AP.EDATE     AS "프로젝트종료일"
     , AP.NUMBERS   AS "프로젝트참여인원수"
     , AP.AP_CODE   AS "개설신청코드"
     , CP.CP_CODE   AS "개설확정코드"
FROM MEMBER M
     INNER JOIN MEMBER_APPLY MA
        ON M.MEM_CODE = MA.MEM_CODE
     INNER JOIN ROLE_COMP RC
        ON MA.RC_CODE = RC.RC_CODE
     INNER JOIN A_RESULT AR
        ON MA.AR_CODE = AR.AR_CODE
     INNER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
     INNER JOIN APP_OPENING AP
        ON RC.AP_CODE = AP.AP_CODE
     INNER JOIN C_PROJECT CP
        ON AP.AP_CODE = CP.AP_CODE;

--================================================
--『데이터 INSERT시 참고할 뷰 생성』
--==>> 【PJ_MILE_VIEW】
--================================================

SELECT *
FROM PJ_MILE_VIEW;


CREATE OR REPLACE VIEW PJ_MILE_VIEW
AS
SELECT M.MEM_CODE       AS "MEM_CODE"
     , MA.MA_CODE       AS "MA_CODE"
     , M.NICKNAME       AS "NICKNAME"
     , MR.ROLE          AS "MEMBER_ROLE"
     , MR.MR_CODE       AS "MEMBER_ROLE_CODE"
     , MS.MS_CODE       AS "MILESTONE_CODE"
     , ST.STEP          AS "STEP"
     , ST.ST_CODE       AS "STEP_CODE"
     , CK.CK_CODE       AS "CHECKLIST_CODE"
     , CK.CONTENT       AS "CHECKLIST_CONTENT"
     , CC.CHECKS        AS "IS_CHECKED" 
     , CC.CC_CODE       AS "IS_CHECKED_CODE"
     , AP.PRJ_NAME      AS "PRJ_NAME"
     , CP.CP_CODE       AS "PRJ_CP_CODE"
FROM MEMBER M
     INNER JOIN MEMBER_APPLY MA
        ON M.MEM_CODE = MA.MEM_CODE
     INNER JOIN ROLE_COMP RC
        ON MA.RC_CODE = RC.RC_CODE
     INNER JOIN APP_OPENING AP
        ON RC.AP_CODE = AP.AP_CODE
     INNER JOIN C_PROJECT CP
        ON AP.AP_CODE = CP.AP_CODE
     INNER JOIN MILESTONE MS
        ON CP.CP_CODE = MS.CP_CODE
     INNER JOIN CHECKLIST CK
        ON MS.MS_CODE = CK.MS_CODE
       AND MA.MA_CODE = CK.MA_CODE
     INNER JOIN CHECKLIST_CHECK CC
        ON CK.CC_CODE = CC.CC_CODE
     INNER JOIN STEP ST
        ON CK.ST_CODE = ST.ST_CODE
     INNER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
ORDER BY CHECKLIST_CODE ASC;
 

--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩『마일스톤 체크리스트』▩▩▩▩▩▩▩
--▩▩▩▩▩▩【Milestone_CheckListDTO】▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--================================================
--위에서 구성한 PJ_MILE_VIEW 조회 구문을
--【Milestone_CheckListDTO】 DTO 로 구성
--================================================

SELECT M.MEM_CODE       AS "MEM_CODE"
     , MA.MA_CODE       AS "MA_CODE"
     , M.NICKNAME       AS "NICKNAME"
     , MR.ROLE          AS "MEMBER_ROLE"
     , MR.MR_CODE       AS "MEMBER_ROLE_CODE"
     , MS.MS_CODE       AS "MILESTONE_CODE"
     , ST.STEP          AS "STEP"
     , ST.ST_CODE       AS "STEP_CODE"
     , CK.CK_CODE       AS "CHECKLIST_CODE"
     , CK.CONTENT       AS "CHECKLIST_CONTENT"
     , CC.CHECKS        AS "IS_CHECKED" 
     , CC.CC_CODE       AS "IS_CHECKED_CODE"
     , AP.PRJ_NAME      AS "PRJ_NAME"
     , CP.CP_CODE       AS "PRJ_CP_CODE"
FROM MEMBER M
     INNER JOIN MEMBER_APPLY MA
        ON M.MEM_CODE = MA.MEM_CODE
     INNER JOIN ROLE_COMP RC
        ON MA.RC_CODE = RC.RC_CODE
     INNER JOIN APP_OPENING AP
        ON RC.AP_CODE = AP.AP_CODE
     INNER JOIN C_PROJECT CP
        ON AP.AP_CODE = CP.AP_CODE
     INNER JOIN MILESTONE MS
        ON CP.CP_CODE = MS.CP_CODE
     INNER JOIN CHECKLIST CK
        ON MS.MS_CODE = CK.MS_CODE
       AND MA.MA_CODE = CK.MA_CODE
     INNER JOIN CHECKLIST_CHECK CC
        ON CK.CC_CODE = CC.CC_CODE
     INNER JOIN STEP ST
        ON CK.ST_CODE = ST.ST_CODE
     INNER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
WHERE CP.CP_CODE = 'CP0001'
  AND ST.STEP = '구현'
ORDER BY CHECKLIST_CODE ASC;

--○ [선택항목 조회]============================
--SELECT CK.CK_CODE       AS CK_CODE
--     , M.MEM_CODE       AS MEM_CODE
--     , M.NICKNAME       AS NICKNAME
--     , CK.KDATE         AS CHECK_ADD_DATE
--     , CP.CP_CODE       AS C_PROJECT_CODE
--     , CC.CHECKS        AS IS_CHECKED
--     , CK.CONTENT       AS CHECK_CONTENT
--     , ST.STEP          AS CHECK_STEP
--FROM MEMBER M
--     INNER JOIN MEMBER_APPLY MA
--        ON M.MEM_CODE = MA.MEM_CODE
--     INNER JOIN ROLE_COMP RC
--        ON MA.RC_CODE = RC.RC_CODE
--     INNER JOIN APP_OPENING AP
--        ON RC.AP_CODE = AP.AP_CODE
--     INNER JOIN C_PROJECT CP
--        ON AP.AP_CODE = CP.AP_CODE
--     INNER JOIN MILESTONE MS
--        ON CP.CP_CODE = MS.CP_CODE
--     INNER JOIN CHECKLIST CK
--        ON MS.MS_CODE = CK.MS_CODE
--       AND MA.MA_CODE = CK.MA_CODE
--     INNER JOIN STEP ST
--        ON CK.ST_CODE = ST.ST_CODE
--     INNER JOIN CHECKLIST_CHECK CC
--        ON CK.CC_CODE = CC.CC_CODE
--WHERE CP.CP_CODE = 'CP0001';

--==============================================



--○ [전체 조회]===============================
SELECT *
FROM MEMBER M
     INNER JOIN MEMBER_APPLY MA
        ON M.MEM_CODE = MA.MEM_CODE
     INNER JOIN ROLE_COMP RC
        ON MA.RC_CODE = RC.RC_CODE
     INNER JOIN APP_OPENING AP
        ON RC.AP_CODE = AP.AP_CODE
     INNER JOIN C_PROJECT CP
        ON AP.AP_CODE = CP.AP_CODE
     INNER JOIN MILESTONE MS
        ON CP.CP_CODE = MS.CP_CODE
     INNER JOIN CHECKLIST CK
        ON MS.MS_CODE = CK.MS_CODE
       AND MA.MA_CODE = CK.MA_CODE
     INNER JOIN STEP ST
        ON CK.ST_CODE = ST.ST_CODE
     INNER JOIN CHECKLIST_CHECK CC
        ON CK.CC_CODE = CC.CC_CODE;

--==============================================

--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩[마일스톤 체크리스트 체크 처리]▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩


--○ [체크리스트 체크 항목의 체크 여부 조회]========

SELECT IS_CHECKED
FROM PJ_MILE_VIEW
WHERE CHECKLIST_CODE = 'CK0001';

--==================================================


--○ [체크리스트 체크 업데이트]=====================

UPDATE
(
    SELECT CK.CC_CODE, CK.CK_CODE
    FROM CHECKLIST CK
     INNER JOIN CHECKLIST_CHECK CC
        ON CK.CC_CODE = CC.CC_CODE
)
SET CC_CODE = 'CC0002'
WHERE CK_CODE = 'CK0009';

--=================================================


--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩[마일스톤 체크리스트 항목 추가]▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

INSERT INTO CHECKLIST(CK_CODE, CONTENT
                    , KDATE, ST_CODE, MS_CODE
                    , CC_CODE, MA_CODE)
VALUES (TO_CHAR('CK' || LPAD(CK_SEQ.NEXTVAL, 4, '0')), '테스트용 마일스톤 체크리스트 가데이터 입력'
                    , SYSDATE, 'ST0004', 'MS0001'
                    , 'CC0001', 'MA0001');


--○ [개설확정 코드를 이용한 마일스톤 코드 검색]==========
SELECT MS_CODE
FROM MILESTONE
WHERE CP_CODE = 'CP0001';
-- =======================================================

--○ [단계 이름을 이용한 스텝 코드 검색]==================
SELECT ST_CODE
FROM STEP
WHERE STEP = '기획';
-- =======================================================

select *
from pj_mile_view;

--【마일스톤 항목을 추가하는 프로시저 생성】================================

--○ 『PRC_MILE_INSERTING(개설확정코드, 멤버지원코드, 단계 이름, 내용)』

--○ [실행문]*******************************************************************

EXECUTE PRC_MILE_INSERTING('CP0001', 'MA0001', '구현', '체크리스트 추가 항목 내용');

--******************************************************************************

CREATE OR REPLACE PROCEDURE PRC_MILE_INSERTING
(
    V_CP_CODE   IN C_PROJECT.CP_CODE%TYPE
  , V_MA_CODE   IN MEMBER_APPLY.MA_CODE%TYPE
  , V_STEP      IN STEP.STEP%TYPE
  , V_CONTENT   IN CHECKLIST.CONTENT%TYPE
)
IS
    V_MS_CODE   MILESTONE.MS_CODE%TYPE;
    V_ST_CODE   STEP.ST_CODE%TYPE;
    
BEGIN

    SELECT MS_CODE INTO V_MS_CODE
    FROM MILESTONE
    WHERE CP_CODE = V_CP_CODE;
    
    SELECT ST_CODE INTO V_ST_CODE
    FROM STEP
    WHERE STEP = V_STEP;
    
    INSERT INTO CHECKLIST(CK_CODE, CONTENT
                    , KDATE, ST_CODE, MS_CODE
                    , CC_CODE, MA_CODE)
                    
    VALUES (TO_CHAR('CK' || LPAD(CK_SEQ.NEXTVAL, 4, '0')), V_CONTENT
                    , SYSDATE, V_ST_CODE, V_MS_CODE
                    , 'CC0001', V_MA_CODE);

END;
--=========================================================================

20240311_PMOA_KJM.sql
SELECT USER
FROM DUAL;
--==>> PMOA

--[길님거 연습 ㅎㅎ]===========================================================
SELECT APP.MEM_CODE
     , APP.AP_CODE AS CODE
     , TO_CHAR(APP.SDATE, 'YYYY-MM-DD') AS KDATE
     , APP.NUMBERS 
     , APP.VIEWS
     , NVL(COUNT.AC_COUNT, 0) AS COMMENT_COUNT
     , NVL(A2_COUNT.RECOMMENT_COUNT, 0) AS RECOMMENT_COUNT
    
FROM 
    APP_OPENING APP 
    LEFT JOIN 
    (
        SELECT AP_CODE, COUNT(*) AS AC_COUNT
        FROM AO_COMMENT
        GROUP BY AP_CODE
    ) COUNT
    ON COUNT.AP_CODE = APP.AP_CODE
    
    LEFT OUTER JOIN
    (
        SELECT AP2.AP_CODE AS AP_CODE
             , COUNT(A2.A2_CODE) AS RECOMMENT_COUNT
        FROM APP_OPENING AP2
             INNER JOIN AO_COMMENT AC
                ON AP2.AP_CODE = AC.AP_CODE
             INNER JOIN AO_REPLY2 A2
                ON AC.AC_CODE = A2.AC_CODE
        GROUP BY AP2.AP_CODE

     ) A2_COUNT
     ON A2_COUNT.AP_CODE = APP.AP_CODE
    
ORDER BY CODE ASC;
--==============================================================================



--○ [CK_CODE(checklist_code)에 해당하는 체크리스트 내용을 조회하는 쿼리문]====
-- [수정버튼 클릭시, 입력창에 뿌려주기 위함.]

SELECT CONTENT
FROM CHECKLIST
WHERE CK_CODE = 'CK0001';
--=============================================================================


SELECT *
FROM CHECKLIST
ORDER BY CK_CODE ASC;

--○ [개설 확정된 프로젝트 코드와, 멤버 코드로 멤버지원 코드 조회] =============
SELECT MA_CODE
FROM PJ_MILE_VIEW
WHERE PRJ_CP_CODE = 'CP0001'
  AND MEM_CODE = 'MEM0001'
GROUP BY MEM_CODE, MA_CODE;
--==============================================================================


--○ [체크리스트 항목 수정 쿼리문]===============
UPDATE CHECKLIST
SET CONTENT = '변경할 체크항목 사항'
  , MA_CODE = 'MA0002'
  , CC_CODE = 'CC0001'
  , KDATE = SYSDATE
WHERE CK_CODE = 'CK0001';
--===============================================



--○ [기획 체크리스트 완료 항목 조회]============

--◎ [전체 항목 조회]
SELECT PRJ_CP_CODE, CHECKLIST_CODE, STEP, IS_CHECKED, CHECKLIST_CONTENT
FROM PJ_MILE_VIEW
WHERE PRJ_CP_CODE = 'CP0001'
  AND STEP = '기획';

--◎ [전체 항목 카운트]
SELECT PRJ_CP_CODE
     , COUNT(*) AS PLAN_CHECK_TOT_COUNT
FROM PJ_MILE_VIEW
WHERE STEP = '기획'
GROUP BY PRJ_CP_CODE;

--◎ [완료 항목 카운트]
SELECT PRJ_CP_CODE
     , COUNT(*) AS PLAN_CHECK_SUCCESS_COUNT
FROM PJ_MILE_VIEW
WHERE STEP = '기획'
  AND IS_CHECKED = 1
GROUP BY PRJ_CP_CODE;



--◎ [체크리스트 코드 CHECKLIST_CODE 를 통해, 
--    『단계명(STEP), 개설확정코드(PRJ_CP_CODE)』 문자열 결합 후 얻어내기] =====

SELECT STEP || '/' || PRJ_CP_CODE AS STEP_AND_CP_CODE
FROM PJ_MILE_VIEW
WHERE CHECKLIST_CODE = 'CK0003';



--◎ [완료 항목 / 전체 항목 비율 구하기]===================================


SELECT  NVL( TRUNC( SUCCESS.PLAN_CHECK_SUCCESS_COUNT
                          / TOT_COUNT.PLAN_CHECK_TOT_COUNT , 2), 0 ) * 100 
                          
        AS MILE_SUCCESS_PERCENT
FROM 
(
    SELECT PRJ_CP_CODE
         , STEP
         , COUNT(*) AS PLAN_CHECK_TOT_COUNT
    FROM PJ_MILE_VIEW
    GROUP BY PRJ_CP_CODE, STEP
) TOT_COUNT

LEFT OUTER JOIN
(
    SELECT PRJ_CP_CODE
         , STEP
         , COUNT(*) AS PLAN_CHECK_SUCCESS_COUNT
    FROM PJ_MILE_VIEW
    WHERE IS_CHECKED = 1
    GROUP BY PRJ_CP_CODE, STEP
) SUCCESS

 ON TOT_COUNT.PRJ_CP_CODE = SUCCESS.PRJ_CP_CODE
AND TOT_COUNT.STEP = SUCCESS.STEP
WHERE TOT_COUNT.PRJ_CP_CODE = 'CP0001'
  AND TOT_COUNT.STEP = '기획';
  


--===============================================

20240314_PMOA_KJM.sql
SELECT USER
FROM DUAL;
--==>> PMOA

--○ [멤버의 모든 프로필 이미지 경로 초기화 프로시저]===========================

EXECUTE PRC_DEFAULT_PROFILE_IMG;

--
--CREATE OR REPLACE PROCEDURE PRC_DEFAULT_PROFILE_IMG
--IS
--    V_MEM_CODE      MEMBER.MEM_CODE%TYPE;
--    
--    CURSOR MEM_CODE_SELECT
--    IS 
--    SELECT MEM_CODE
--    FROM MEMBER;
--    
--BEGIN
--    
--    OPEN MEM_CODE_SELECT;
--    
--    LOOP 
--    
--        FETCH MEM_CODE_SELECT INTO V_MEM_CODE;
--        
--        EXIT WHEN MEM_CODE_SELECT%NOTFOUND;
--        
--        
--        INSERT INTO PROFILE(PI_CODE, MEM_CODE)
--        VALUES(TO_CHAR('PI' || LPAD(PI_SEQ.NEXTVAL, 4, '0')), V_MEM_CODE);
--        
--    END LOOP;
--    
--    CLOSE MEM_CODE_SELECT;
--    
--    EXCEPTION 
--        WHEN OTHERS THEN ROLLBACK;
--
--END;

--==============================================================================

--○ [마일스톤 체크리스트 삭제]============

DELETE 
FROM CHECKLIST
WHERE CK_CODE = 'CK0001';

--=========================================

--○ [프로젝트의 참여 멤버 조회]===========

-- 멤버코드, 닉네임, 멤버지원코드, 담당직무





--○[피평가자 점수 조회]▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--===================================================
--  ▶ 멤버코드, 닉네임, 멤버지원코드, 담당직무, 
--  ▶ 개설신청코드, 개설확정코드
--  ▶ 점수 구분 코드, 점수 구분명, 점수 코드, 점수
--===================================================
SELECT M.MEM_CODE   AS "P_MEM_CODE"
     , M.NICKNAME   AS "P_NICKNAME"
     , MA.MA_CODE   AS "P_MA_CODE"
     , MR.ROLE      AS "P_MEMBER_ROLE"
     
     , AP.AP_CODE   AS "AP_CODE"
     , CP.CP_CODE   AS "CP_CODE"
     
     , ED.ED_CODE   AS "EVALU_TYPE_ED_CODE"
     , ED.DIVISION  AS "EVALU_DIVISION"
     , EV.EV_CODE   AS "EVALU_CODE"
     , EV.SCORE     AS "EVALU_SCORE"
FROM MEMBER M
     INNER JOIN MEMBER_APPLY MA
        ON M.MEM_CODE = MA.MEM_CODE
     INNER JOIN ROLE_COMP RC
        ON MA.RC_CODE = RC.RC_CODE
     INNER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
     INNER JOIN APP_OPENING AP
        ON RC.AP_CODE = AP.AP_CODE
     INNER JOIN C_PROJECT CP
        ON AP.AP_CODE = CP.AP_CODE
     INNER JOIN EVALUATION EV
        ON MA.MA_CODE = EV.MA_CODEP
     INNER JOIN EV_DEVISION ED 
        ON EV.ED_CODE = ED.ED_CODE;
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩


--○[평가자 정보 조회]▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--===================================================
--  ▶ 멤버코드, 닉네임, 멤버지원코드, 담당직무
--  ▶ 개설확정코드
--  ▶ 점수코드
--===================================================
SELECT M.MEM_CODE   AS "A_MEM_CODE"
     , M.NICKNAME   AS "A_NICKNAME"
     , MA.MA_CODE   AS "A_MA_CODE"
     , MR.ROLE      AS "A_MEMBER_ROLE"
     
     , CP.CP_CODE   AS "CP_CODE"
     
     , EV.EV_CODE   AS "EVALU_CODE"
FROM MEMBER M
     INNER JOIN MEMBER_APPLY MA
        ON M.MEM_CODE = MA.MEM_CODE
     INNER JOIN ROLE_COMP RC
        ON MA.RC_CODE = RC.RC_CODE
     INNER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
     INNER JOIN APP_OPENING AP
        ON RC.AP_CODE = AP.AP_CODE
     INNER JOIN C_PROJECT CP
        ON AP.AP_CODE = CP.AP_CODE
     INNER JOIN EVALUATION EV
        ON MA.MA_CODE = EV.MA_CODEA
     INNER JOIN EV_DEVISION ED 
        ON EV.ED_CODE = ED.ED_CODE;
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩


--==============================================================================
--ⓐ [프로젝트 정보]
--   ▶ 개설신청코드, 개설확정코드
--==============================================================================
--ⓑ [평가자 정보]
--   ▶ 평가자 멤버코드, 평가자 멤버 지원 코드, 평가자 닉네임, 담당 직무
--==============================================================================
--ⓒ [피평가자 정보]
--   ▶ 피평가자 멤버코드, 피평가자 멤버 지원 코드, 피평가자 닉네임, 담당 직무
--==============================================================================
--ⓓ [점수 정보]
--   ▶ 점수 구분 코드, 점수 구분, 점수 코드, 점수
--==============================================================================


--○[평가자 + 피평가자 정보 통합]▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--=====================================
--  ▶ 뷰로 구성 : 『PJ_EVALU_VIEW』 
--=====================================

SELECT *
FROM PJ_EVALU_VIEW
WHERE P_MEM_CODE = 'MEM0004';


SELECT 1000 + NVL(SUM(EV.SCORE), 0) AS FRONT_SCORE
FROM MEMBER M
     INNER JOIN MEMBER_APPLY MA       
        ON M.MEM_CODE = MA.MEM_CODE 
     INNER JOIN ROLE_COMP RC           
        ON MA.RC_CODE = RC.RC_CODE
     INNER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
     INNER JOIN EVALUATION EV
        ON MA.MA_CODE = EV.MA_CODEP
     INNER JOIN EV_DEVISION ED
        ON EV.ED_CODE = ED.ED_CODE
WHERE M.MEM_CODE = 'MEM0005'
  AND MR.MR_CODE = 'MR0003'
  AND ED.ED_CODE = 'ED0001';

CREATE OR REPLACE VIEW PJ_EVALU_VIEW
AS
SELECT AP.AP_CODE           AS "AP_CODE"
     , CP.CP_CODE           AS "CP_CODE"
     , AR.RESULT            AS "RESULT"
     
     , RATER.A_MEM_CODE     AS "A_MEM_CODE"
     , RATER.A_NICKNAME     AS "A_NICKNAME"
     , RATER.A_MA_CODE      AS "A_MA_CODE"
     , RATER.A_MEMBER_ROLE  AS "A_MEMBER_ROLE"

     , M.MEM_CODE           AS "P_MEM_CODE"
     , M.NICKNAME           AS "P_NICKNAME"
     , MA.MA_CODE           AS "P_MA_CODE"
     , MR.ROLE              AS "P_MEMBER_ROLE"

     , ED.ED_CODE           AS "EVALU_TYPE_ED_CODE"
     , ED.DIVISION          AS "EVALU_DIVISION"
     , EV.EV_CODE           AS "EVALU_CODE"
     , EV.SCORE             AS "EVALU_SCORE"
    
FROM MEMBER M
     LEFT OUTER JOIN MEMBER_APPLY MA
        ON M.MEM_CODE = MA.MEM_CODE
     LEFT OUTER JOIN A_RESULT AR
        ON MA.AR_CODE = AR.AR_CODE
     LEFT OUTER JOIN ROLE_COMP RC
        ON MA.RC_CODE = RC.RC_CODE
     LEFT OUTER JOIN MEMBER_ROLE MR
        ON RC.MR_CODE = MR.MR_CODE
     LEFT OUTER JOIN APP_OPENING AP
        ON RC.AP_CODE = AP.AP_CODE
     LEFT OUTER JOIN C_PROJECT CP
        ON AP.AP_CODE = CP.AP_CODE
     LEFT OUTER JOIN EVALUATION EV
        ON MA.MA_CODE = EV.MA_CODEP
     LEFT OUTER JOIN EV_DEVISION ED 
        ON EV.ED_CODE = ED.ED_CODE
     LEFT OUTER JOIN
     (
        
        SELECT M.MEM_CODE   AS "A_MEM_CODE"
             , M.NICKNAME   AS "A_NICKNAME"
             , MA.MA_CODE   AS "A_MA_CODE"
             , MR.ROLE      AS "A_MEMBER_ROLE"
             
             , CP.CP_CODE   AS "CP_CODE"
             
             , EV.EV_CODE   AS "EVALU_CODE"
        FROM MEMBER M
             INNER JOIN MEMBER_APPLY MA
                ON M.MEM_CODE = MA.MEM_CODE
             INNER JOIN ROLE_COMP RC
                ON MA.RC_CODE = RC.RC_CODE
             INNER JOIN MEMBER_ROLE MR
                ON RC.MR_CODE = MR.MR_CODE
             INNER JOIN APP_OPENING AP
                ON RC.AP_CODE = AP.AP_CODE
             INNER JOIN C_PROJECT CP
                ON AP.AP_CODE = CP.AP_CODE
             INNER JOIN EVALUATION EV
                ON MA.MA_CODE = EV.MA_CODEA
             INNER JOIN EV_DEVISION ED 
                ON EV.ED_CODE = ED.ED_CODE
        
     ) RATER
     ON EV.EV_CODE = RATER.EVALU_CODE;
     


--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩


--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--★『PJ_MEMBER_SCORE_INFO_VIEW』
--   →【Milestone_MemberEvaluDTO】 로 구성
--  [점수 평가 입력시 보여질 사항을 PJ_EVALU_VIEW 를 이용해 다시 VIEW 로 구성]

--============================================================================
SELECT *
FROM MY_ALL_SCORE_VIEW;

CREATE OR REPLACE VIEW MY_ALL_SCORE_VIEW
AS
SELECT P_MEM_CODE           AS "MEM_CODE"
     , P_NICKNAME           AS "NICKNAME"
     , AVG(BACKEND_SCORE)   AS "BACKEND_SCORE"
     , AVG(FRONTEND_SCORE)  AS "FRONTEND_SCORE"
     , AVG(MANNER_SCORE)    AS "MANNER_SCORE" 
FROM PJ_MEMBER_SCORE_INFO_VIEW
WHERE P_MEM_CODE = 'MEM0002'
GROUP BY P_MEM_CODE, P_NICKNAME, BACKEND_SCORE, FRONTEND_SCORE, MANNER_SCORE;


--ⓐ [ VIEW 생성 : PJ_MEMBER_SCORE_INFO_VIEW ]**********************

CREATE OR REPLACE VIEW PJ_MEMBER_SCORE_INFO_VIEW
AS
SELECT AP_CODE, CP_CODE
     , P_MEM_CODE, P_MA_CODE, P_NICKNAME, P_MEMBER_ROLE
     ,
     (
        SELECT 1000 + NVL(SUM(EVALU_SCORE), 0) AS BACK_SCORE
        FROM PJ_EVALU_VIEW PJEV2
        WHERE PJEV2.P_MEM_CODE = PJEV.P_MEM_CODE
          AND EVALU_DIVISION = '실력'
          AND P_MEMBER_ROLE = '백엔드'
     ) BACKEND_SCORE
     ,
     (
        SELECT 1000 + NVL(SUM(EVALU_SCORE), 0) AS FRONT_SCORE
        FROM PJ_EVALU_VIEW PJEV3
        WHERE PJEV3.P_MEM_CODE = PJEV.P_MEM_CODE
          AND EVALU_DIVISION = '실력'
          AND P_MEMBER_ROLE = '프론트 엔드'
     ) FRONTEND_SCORE
     ,
     (

       SELECT 36.5 + NVL(SUM(DECODE(EVALU_SCORE
                                   , 5, 0.2
                                   , 4, 0.1
                                   , 3, 0
                                   , 2, -0.1
                                   , 1, -0.2)), 0) AS MANNER_SCORE
        FROM PJ_EVALU_VIEW PJEV4
        WHERE PJEV4.P_MEM_CODE = PJEV.P_MEM_CODE
          AND EVALU_DIVISION = '매너'
     
     ) MANNER_SCORE
     
FROM PJ_EVALU_VIEW PJEV
GROUP BY AP_CODE, CP_CODE
     , P_MEM_CODE, P_MA_CODE, P_NICKNAME, P_MEMBER_ROLE;
      
--★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
--ⓑ [ Milestone_MemberEvaluDTO 의 조회 컬럼 구성 ]***********************
--   ※ 『팀장은 점수 입력이 불가능하므로, WHERE 조건절에서 제외.』

--▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤
--★[평가를 받았는지, 안 받았는지에 대한 여부 구하기]=======
SELECT DECODE(COUNT(*), 0, '평가안함', '평가함')
FROM PJ_EVALU_VIEW
WHERE CP_CODE = 'CP0001'
  AND A_MEM_CODE = 'MEM0001'
  AND P_MEM_CODE = 'MEM0004';
--===========================================================
--▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤▤


SELECT PSI.AP_CODE          AS "AP_CODE"
     , PSI.CP_CODE          AS "CP_CODE"
     , PSI.P_MEM_CODE       AS "P_MEM_CODE"
     , PSI.P_MA_CODE        AS "P_MA_CODE"
     , PSI.P_NICKNAME       AS "P_NICKNAME"
     , PSI.P_MEMBER_ROLE    AS "P_MEMBER_ROLE"
     , PSI.BACKEND_SCORE    AS "BACKEND_SCORE"
     , PSI.FRONTEND_SCORE   AS "FRONTEND_SCORE"
     , PSI.MANNER_SCORE     AS "MANNER_SCORE"
     ,
     (
        SELECT DECODE(COUNT(PEV.P_MEM_CODE), 0, '평가미완료', '평가완료')
        FROM PJ_EVALU_VIEW PEV
        WHERE CP_CODE = PSI.CP_CODE
          AND A_MEM_CODE = 'MEM0001'
          AND P_MEM_CODE = PSI.P_MEM_CODE
          
     ) AS "EVALU_OK"
FROM PJ_MEMBER_SCORE_INFO_VIEW PSI
WHERE CP_CODE = 'CP0001'
  AND P_MEMBER_ROLE NOT IN ('팀장')
  AND P_MEM_CODE != 'MEM0001'
ORDER BY P_MEM_CODE ASC;
--★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★



--○[개설 확정 코드를 이용해서 개설 신청 코드를 얻어내기]===========
SELECT 개설신청코드 AS "AP_CODE"
FROM OPEN_PRJ_MEMBERS_VIEW
WHERE 개설확정코드 = 'CP0002'
GROUP BY 개설신청코드;
--==================================================================




--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--◎[실력 점수 가데이터 입력]▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
--○[평가 가능한 회원 조회]==================================
SELECT AP_CODE, CP_CODE
     , P_MEM_CODE, P_MA_CODE, P_NICKNAME, P_MEMBER_ROLE
     , BACKEND_SCORE, FRONTEND_SCORE, MANNER_SCORE
FROM PJ_MEMBER_SCORE_INFO_VIEW
WHERE CP_CODE = 'CP0001'
  AND P_MEMBER_ROLE NOT IN ('팀장')
--  AND P_MEM_CODE 
--      NOT IN
--      (
--        SELECT P_MEM_CODE
--        FROM PJ_EVALU_VIEW
--        WHERE CP_CODE = 'CP0001'
--          AND A_MEM_CODE = 'MEM0001'
--        GROUP BY P_MEM_CODE
--      )
ORDER BY P_MEM_CODE ASC;
--===========================================================
--★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★


--○[전체 팀원 평가 조회]====================================
SELECT *
FROM EVALUATION;
--=========================================================== 

--◎『실력 점수(ED_CODE) : 'ED0001'』


INSERT INTO EVALUATION(EV_CODE, KDATE
                     , SCORE, ED_CODE
                     , MA_CODEA, MA_CODEP)
VALUES ( TO_CHAR('EV' || LPAD(EV_SEQ.NEXTVAL, 4, '0')), SYSDATE
        , 5, 'ED0001'
        , 'MA0005', 'MA0004');
        



--==============================================================================

--◎『매너 점수(ED_CODE) : 'ED0002'』

INSERT INTO EVALUATION(EV_CODE, KDATE
                     , SCORE, ED_CODE
                     , MA_CODEA, MA_CODEP)
VALUES ( TO_CHAR('EV' || LPAD(EV_SEQ.NEXTVAL, 4, '0')), SYSDATE
        , 3, 'ED0002'
        , 'MA0005', 'MA0004');
        

--==============================================================================

--● [전체 점수 데이터 삭제]

DELETE
FROM EVALUATION;



--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩


--=============================================================================
--○ 개설확정코드(CP_CODE)와 멤버코드를 이용하여, 직위(MEMBER_ROLE) 얻기.
--=============================================================================
SELECT P_MEMBER_ROLE AS "MEMBER_ROLE"
FROM PJ_MEMBER_SCORE_INFO_VIEW
WHERE CP_CODE = 'CP0001'
  AND P_MEM_CODE = 'MEM0001';
--=============================================================================

--○[개설확정 코드 [CP0001]인 프로젝트의 모든 체크리스트 해제]===============

UPDATE
(
    SELECT CK.CC_CODE
    FROM CHECKLIST CK
         INNER JOIN MILESTONE MS
            ON CK.MS_CODE = MS.MS_CODE
         INNER JOIN C_PROJECT CP
            ON MS.CP_CODE = CP.CP_CODE
    WHERE CP.CP_CODE = 'CP0001'
)
SET CC_CODE = 'CC0001';
    
    
--==========================================================================



--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--◎ 마일스톤 대분류 체크리스트 항목의 완성 퍼센트 총합 구하기
--   ▶【400이면, 체크리스트 모두 완료! → 팀원 평가가 열린다~】
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

SELECT  SUM(NVL( TRUNC( SUCCESS.PLAN_CHECK_SUCCESS_COUNT
                          / TOT_COUNT.PLAN_CHECK_TOT_COUNT , 2), 0 ) * 100)
                          
        AS TOT_MILE_SUCCESS_PERCENT
FROM 
(
    SELECT PRJ_CP_CODE
         , STEP
         , COUNT(*) AS PLAN_CHECK_TOT_COUNT
    FROM PJ_MILE_VIEW
    GROUP BY PRJ_CP_CODE, STEP
) TOT_COUNT

LEFT OUTER JOIN
(
    SELECT PRJ_CP_CODE
         , STEP
         , COUNT(*) AS PLAN_CHECK_SUCCESS_COUNT
    FROM PJ_MILE_VIEW
    WHERE IS_CHECKED = 1
    GROUP BY PRJ_CP_CODE, STEP
) SUCCESS

 ON TOT_COUNT.PRJ_CP_CODE = SUCCESS.PRJ_CP_CODE
AND TOT_COUNT.STEP = SUCCESS.STEP
WHERE TOT_COUNT.PRJ_CP_CODE = 'CP0001';
  


--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--◎▩▩▩▩▩▩▩▩▩[결산 보고서 항목 INSERT 쿼리문]▩▩▩▩▩▩▩▩▩▩▩▩
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

--○ [결산 보고서 조회]==================
SELECT *
FROM FINAL_REPORT;
--=======================================


--==============================================================================
-- 1. 결산 보고서 테이블 (FINAL_REPORT) insert
-- 2. 포트폴리오 게시판  (PORTFOLIO) insert (같은 내용)
-- 3. 포트폴리오 코드 구하기
-- 4. 포트폴리오 코드 foreign key 로 갖는 포트폴리오 태그 (P_TAG) 에 태그 넣기
--==============================================================================

--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--     【 1. 결산 보고서 테이블 INSERT 】
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
DESC FINAL_REPORT;
--=========================================================================
INSERT INTO FINAL_REPORT(FR_CODE, TITLE
                      , CONTENT, KDATE
                      , CP_CODE)
VALUES (TO_CHAR('FR' || LPAD(FR_SEQ.NEXTVAL, 4, '0')), '결산보고서 제목'
      , '결산 보고서 내용입니다. 랄랄라', SYSDATE
      , 'CP0000');
--=========================================================================




--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--     【 2. 포트폴리오 테이블 INSERT 】
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
DESC PORTFOLIO;


--★[팀장만 INSERT 가능해야한다.]

--=========================================================================
INSERT INTO PORTFOLIO(P_CODE, TITLE
                    , CONTENT, KDATE
                    , VIEWS, MEM_CODE, CP_CODE)
VALUES('포트폴리오 코드', '결산보고서 제목'
     , '결산 보고서 내용입니다. 랄랄라', SYSDATE
     , 0, 'MEM0000', 'CP0000');
--=========================================================================
     


--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
--     【 3. 포트폴리오 태그 테이블 INSERT 】
--▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩

DESC P_TAG;
--=========================================================================
INSERT INTO P_TAG(PT_CODE, P_CODE, TAG_NAME)
VALUES (TO_CHAR('PT' || LPAD(PT_SEQ.NEXTVAL, 4, '0'))
      , '포트폴리오 코드', 'JAVA');
--=========================================================================



 

--▩▩▩▩▩▩▩▩▩▩【별도의 메소드로 구성】▩▩▩▩▩▩▩▩▩▩▩▩

--◎ [CP_CODE 에 해당하는 프로젝트 제목 얻어내기]===========================

SELECT 프로젝트명 AS "PROJECT_NAME"
FROM OPEN_PRJ_MEMBERS_VIEW
WHERE 개설확정코드 = 'CP0001'
GROUP BY 프로젝트명;


--◎ [이번 포트폴리오 코드 얻어내기]========================================
--SELECT TO_CHAR('P' || LPAD(COUNT(P_CODE)+1, 4, '0')) AS NOW_P_CODE
--FROM PORTFOLIO;

SELECT TO_CHAR('P' || LPAD(NVL(MAX(TO_NUMBER(SUBSTR(P_CODE, 2))), 0)+1, 4, '0')) AS NOW_P_CODE
FROM PORTFOLIO;

--==========================================================================


--◎ [개설 확정 코드, 멤버 코드로 직위 반환받기]============================
SELECT P_MEMBER_ROLE AS "MEMBER_ROLE"
FROM PJ_MEMBER_SCORE_INFO_VIEW
WHERE CP_CODE = 'CP0001'
  AND P_MEM_CODE = 'MEM0006';
--==========================================================================


--◎ [개설확정코드에 해당하는, 결산 보고서가 존재하는지 확인(COUNT(*))]======
SELECT DECODE(COUNT(*), 0, '미작성', '작성완료') AS "EXIST_FINAL_REPORT"
FROM FINAL_REPORT
WHERE CP_CODE = 'CP0001';
--===========================================================================


--★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
--▩▩▩▩▩▩▩▩▩▩【별도의 DTO로 구성】▩▩▩▩▩▩▩▩▩▩▩▩
--▶【FinalReport_ReportDTO】

-- 결산 보고서 코드(FR.FR_CODE), 포트폴리오 코드(P.P_CODE)
-- 개설신청코드(OPMV.개설신청코드), 개설확정코드(OPMV.개설확정코드)
-- 멤버코드(OPMV.회원코드), 멤버지원코드(OPMV.멤버지원코드)
-- 프로젝트명(OPMV.프로젝트명)
-- 제목(FR.TITLE), 내용(FR.CONTENT)


--SELECT FR.*, OPMV.*, P.*
SELECT FR.FR_CODE         AS "FR_CODE"
     , P.P_CODE           AS "P_CODE"
     , OPMV.개설신청코드  AS "AP_CODE"
     , OPMV.개설확정코드  AS "CP_CODE"
     , OPMV.회원코드      AS "LEADER_MEM_CODE"
     , OPMV.멤버지원코드  AS "LEADER_MA_CODE"
     , OPMV.프로젝트명    AS "PROJECT_NAME"
     , FR.TITLE           AS "REPORT_TITLE"
     , FR.CONTENT         AS "REPORT_CONTENT"
FROM FINAL_REPORT FR
     RIGHT OUTER JOIN OPEN_PRJ_MEMBERS_VIEW OPMV
        ON FR.CP_CODE = OPMV.개설확정코드
     LEFT OUTER JOIN PORTFOLIO P
        ON P.MEM_CODE = OPMV.회원코드
WHERE OPMV."담당직무" = '팀장'
  AND OPMV."개설확정코드" = 'CP0001';


--★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
--▩▩▩▩▩▩▩▩▩▩【별도의 DTO로 구성】▩▩▩▩▩▩▩▩▩▩▩▩
--▶【FinalReport_PTagDTO】

-- 포트폴리오 코드(P.P_CODE), 포트폴리오 태그 코드(PT.PT_CODE)
-- 포트폴리오 태그명(PT.TAG_NAME)

SELECT P.P_CODE     AS "P_CODE"
     , PT.PT_CODE   AS "PT_CODE"
     , PT.TAG_NAME  AS "TAG_NAME"
FROM FINAL_REPORT FR
     RIGHT OUTER JOIN OPEN_PRJ_MEMBERS_VIEW OPMV
        ON FR.CP_CODE = OPMV.개설확정코드
     LEFT OUTER JOIN PORTFOLIO P
        ON P.MEM_CODE = OPMV.회원코드
     LEFT OUTER JOIN P_TAG PT
        ON P.P_CODE = PT.P_CODE
WHERE 담당직무 = '팀장'
  AND OPMV."개설확정코드" = 'CP0001';

select *
from member;
--● [결산 보고서 조회 / 삭제]

SELECT *
FROM FINAL_REPORT;


--************************

DELETE
FROM FINAL_REPORT
WHERE CP_CODE = 'CP0001';


--● [포트폴리오 태그 조회 / 삭제]================

SELECT *
FROM P_TAG;

--************************

DELETE
FROM P_TAG
WHERE P_CODE = 'P0001';


--● [포트폴리오 조회 / 삭제]================

SELECT *
FROM PORTFOLIO;

--************************

DELETE 
FROM PORTFOLIO
WHERE P_CODE IN ('P0001');