SELECT 1, 2, 3 FROM dual;
SELECT 1 FROM dual
UNION ALL
SELECT 2 FROM dual;
UI/View계층
출력되는 디자인 패턴 - 테이블구조 그대로 출력되는 경우은 없다
구조를 변경하면서 출력하기 - 인라인뷰
SELECT
*
FROM sw_design;
SELECT dap FROM sw_design;
2=2 r1:= r1+1;
3=3 r1:=r1 +1;
4=1 w1:=w1+1;
1=1 r1:=r1+1;
SELECT 1, 2, 3 FROM sw_design;
SELECT ceil(d_no/4) FROM sw_design
GROUP BY ceil(d_no/4)
SELECT ceil(d_no/4), 2,3 FROM sw_design
GROUP BY ceil(d_no/4)
SELECT
min(decode(d_no,1,dap))
, min(decode(d_no,2,dap))
, min(decode(d_no,3,dap))
, min(decode(d_no,4,dap))
FROM sw_design
GROUP BY ceil(d_no/4)
SELECT
min(decode(d_no,1,dap))
, min(decode(d_no,2,dap))
, min(decode(d_no,3,dap))
, min(decode(d_no,4,dap))
INTO d1, d2, d3, d4
FROM sw_design
GROUP BY ceil(d_no/4);
LOOP
fetch paper_cur into vexam_no, u1, u2, u3, u4;
exit when paper_cur%notfound;
if u1 = d1 then
r1:=r1+1;
else
w1:=w1+1;
end if;
END LOOP;
commit;
r1:= 0;
w1: =0;
cursor paper_cur is
select exam_no, dap1, dap2, dap3, dap4 from exam_paper;
fetch paper_cur into vexam_no, u1, u2, u3, u4
update exam_paper
set right_answer = r1,
wrong_answer = w1
where exam_no = vexam_no;
CREATE OR REPLACE procedure SCOTT.proc_account2
is
vexam_no varchar2(10);
u1 number(1):=0;
u2 number(1):=0;
u3 number(1):=0;
u4 number(1):=0;
d1 number(1):=0;
d2 number(1):=0;
d3 number(1):=0;
d4 number(1):=0;
r1 number(3):=0;
w1 number(3):=0;
cursor paper_cur is
select exam_no, dap1, dap2, dap3, dap4 from exam_paper;
begin
SELECT
min(decode(d_no,1,dap))
, min(decode(d_no,2,dap))
, min(decode(d_no,3,dap))
, min(decode(d_no,4,dap))
INTO d1, d2, d3, d4
FROM sw_design
GROUP BY ceil(d_no/4);
open paper_cur;
loop
fetch paper_cur into vexam_no, u1,u2,u3,u4;
exit when paper_cur%notfound;
if u1 = d1 then
r1:=r1+1;
else
w1:=w1+1;
end if;
if u2 = d2 then
r1:=r1+1;
else
w1:=w1+1;
end if;
if u3 = d3 then
r1:=r1+1;
else
w1:=w1+1;
end if;
if u4 = d4 then
r1:=r1+1;
else
w1:=w1+1;
end if;
update exam_paper
set right_answer = r1,
wrong_answer = w1
where exam_no = vexam_no;
commit;
r1:=0;
w1:=0;
end loop;
close paper_cur;
end;
/
<test>
exec proc_account2;
edit exam_paper;
commit;
MyBatis
- MyBatis는 개발자가 지정한 SQL,저장프로시저 그리고 몇 가지 고급 매피을 지원하는 퍼시스턴스 프레임워크다. 모든 MyBatis 애플리케이션은 SqlSessionFactory 인스턴스를 사용한다.
- https://mvnrepository.com/artifact/org.mybatis/mybatis (3.5.9버전 다운로드 함)
- D:\workspace_web\web231027\src\main\webapp\WEB-INF\lib 표준 배포 위치
- 이클립스: 자바 프로젝트 - 우클릭 - Build Path - Configure