Advertisement
Guest User

Untitled

a guest
May 30th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.11 KB | None | 0 0
  1. DROP TABLE mvcBoard CASCADE CONSTRAINTS;
  2. CREATE TABLE mvcBoard(
  3. no NUMBER,
  4. name VARCHAR2(34) CONSTRAINT mb_name_nn NOT NULL,
  5. subject VARCHAR2(1000) CONSTRAINT mb_sub_nn NOT NULL,
  6. content CLOB CONSTRAINT mb_cont_nn NOT NULL,
  7. pwd VARCHAR2(10) CONSTRAINT mb_pwd_nn NOT NULL,
  8. regdate DATE DEFAULT SYSDATE,
  9. hit NUMBER DEFAULT 0,
  10. CONSTRAINT mb_no_pk PRIMARY KEY(no)
  11. );
  12.  
  13. INSERT INTO mvcBoard(no,name,subject,content,pwd)
  14. VALUES((SELECT NVL(MAX(no)+1,1) FROM mvcBoard),'정도전','MVC 구조 게시판',
  15. 'DB:MyBatis, Web:MVC를 이용한 게시판이다.','1234');
  16. INSERT INTO mvcBoard(no,name,subject,content,pwd)
  17. VALUES((SELECT NVL(MAX(no)+1,1) FROM mvcBoard),'정도전','MVC 구조 게시판',
  18. 'DB:MyBatis, Web:MVC를 이용한 게시판이다.','1234');
  19. INSERT INTO mvcBoard(no,name,subject,content,pwd)
  20. VALUES((SELECT NVL(MAX(no)+1,1) FROM mvcBoard),'정도전','MVC 구조 게시판',
  21. 'DB:MyBatis, Web:MVC를 이용한 게시판이다.','1234');
  22. INSERT INTO mvcBoard(no,name,subject,content,pwd)
  23. VALUES((SELECT NVL(MAX(no)+1,1) FROM mvcBoard),'정도전','MVC 구조 게시판',
  24. 'DB:MyBatis, Web:MVC를 이용한 게시판이다.','1234');
  25. INSERT INTO mvcBoard(no,name,subject,content,pwd)
  26. VALUES((SELECT NVL(MAX(no)+1,1) FROM mvcBoard),'정도전','MVC 구조 게시판',
  27. 'DB:MyBatis, Web:MVC를 이용한 게시판이다.','1234');
  28. INSERT INTO mvcBoard(no,name,subject,content,pwd)
  29. VALUES((SELECT NVL(MAX(no)+1,1) FROM mvcBoard),'정도전','MVC 구조 게시판',
  30. 'DB:MyBatis, Web:MVC를 이용한 게시판이다.','1234');
  31. COMMIT;
  32. SELECT * FROM mvcBoard;
  33.  
  34. CREATE OR REPLACE PROCEDURE boardListData(
  35. pStart mvcBoard.no%TYPE,
  36. pEnd mvcBoard.no%TYPE,
  37. pResult OUT SYS_REFCURSOR
  38. )
  39. IS
  40. BEGIN
  41. OPEN pResult FOR
  42. SELECT no,subject,name,regdate,hit,num
  43. FROM (SELECT no,subject,name,regdate,hit,rownum as num
  44. FROM (SELECT no,subject,name,regdate,hit
  45. FROM mvcBoard ORDER BY no DESC))
  46. WHERE num BETWEEN pStart AND pEnd;
  47. END;
  48. /
  49.  
  50. CREATE OR REPLACE PROCEDURE boardTotalPage(
  51. pNumber OUT mvcBoard.no%TYPE
  52. )
  53. IS
  54. BEGIN
  55. SELECT CEIL(COUNT(*)/10) INTO pNumber
  56. FROM mvcBoard;
  57. END;
  58. /
  59.  
  60. --내용보기
  61. CREATE OR REPLACE PROCEDURE boardContentData(
  62. pNo mvcBoard.no%TYPE,
  63. pResult OUT SYS_REFCURSOR
  64. )
  65. IS
  66. BEGIN
  67. UPDATE mvcBoard SET
  68. hit=hit+1
  69. WHERE no=pNo;
  70. COMMIT;
  71.  
  72. OPEN pResult FOR
  73. SELECT no,name,subject,content,regdate,hit
  74. FROM mvcBoard
  75. WHERE no=pNo;
  76. END;
  77. /
  78.  
  79. CREATE OR REPLACE PROCEDURE boardInsert(
  80. pName mvcBoard.name%TYPE,
  81. pSub mvcBoard.subject%TYPE,
  82. pCont mvcBoard.content%TYPE,
  83. pPwd mvcBoard.pwd%TYPE
  84. )
  85. IS
  86. BEGIN
  87. INSERT INTO mvcBoard VALUES(
  88. (SELECT NVL(MAX(no)+1,1) FROM mvcBoard),
  89. pName,pSub,pCont,pPwd,SYSDATE,0
  90. );
  91. COMMIT;
  92. END;
  93. /
  94.  
  95. CREATE OR REPLACE PROCEDURE boardDelete(
  96. pNo mvcBoard.no%TYPE,
  97. pPwd mvcBoard.pwd%TYPE,
  98. pResult OUT mvcBoard.name%TYPE
  99. )
  100. IS
  101. db_pwd mvcBoard.pwd%TYPE;
  102. BEGIN
  103. SELECT pwd INTO db_pwd
  104. FROM mvcBoard
  105. WHERE no=pNo;
  106.  
  107. IF(pPwd=db_pwd) THEN
  108. pResult:='true';
  109. DELETE FROM mvcBoard
  110. WHERE no=pNo;
  111. ELSE
  112. pResult:='false';
  113. END IF;
  114. COMMIT;
  115. END;
  116. /
  117.  
  118. CREATE OR REPLACE PROCEDURE boardUpdateData(
  119. pNo mvcBoard.no%TYPE,
  120. pResult OUT SYS_REFCURSOR
  121. )
  122. IS
  123. BEGIN
  124. OPEN pResult FOR
  125. SELECT no,name,subject,content
  126. FROM mvcBoard
  127. WHERE no=pNo;
  128. END;
  129. /
  130.  
  131. CREATE OR REPLACE PROCEDURE boardUpdate(
  132. pNo mvcBoard.no%TYPE,
  133. pName mvcBoard.name%TYPE,
  134. pSub mvcBoard.subject%TYPE,
  135. pCont mvcBoard.content%TYPE,
  136. pPwd mvcBoard.pwd%TYPE,
  137. pResult OUT VARCHAR2
  138. )
  139. IS
  140. db_pwd mvcBoard.pwd%TYPE;
  141. BEGIN
  142. SELECT pwd INTO db_pwd
  143. FROM mvcBoard
  144. WHERE no=pNo;
  145.  
  146. IF(pPwd=db_pwd) THEN
  147. pResult:='true';
  148. UPDATE mvcBoard SET
  149. name=pName,subject=pSub,content=pCont
  150. WHERE no=pNo;
  151. COMMIT;
  152. ELSE
  153. pResult:='false';
  154. END IF;
  155. END;
  156. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement