검색결과 리스트
글
디자인 패턴이란?
소프트웨어 설계 시 특정 상황에서 자주 만나는 문제를 해결하기 위해 사용할 수 있는 재사용 가능한 솔루션
장점 : 패턴의 이름으로 설계 의도, 해결책을 한번에 해결 할 수 있다.
패턴의 설계 구조:
대부분 객체지향적인 설계로부터 문제를 해결하기 위해 적용 가능한 확장성 추구 방법은 두 가지로 정리된다.
1. 클래스 상속
2. 오브젝트 합성
따라서 패턴의 결과로 나온 코드 설계 구조는 대부분 비슷하다.
중요 포인트:
각 패턴의 핵심이 담긴 목적, 의도
-> 패턴을 적용할 상황, 해결해야 할 문제 솔루션의 구조와 각 요소의 역할. 핵심 의도를 기억해야 한다.
참고: 토비의 스프링3.0
'JAVA > 디자인 패턴' 카테고리의 다른 글
팩토리 메소드 패턴 (0) | 2013.07.25 |
---|---|
탬플릿 메소드 패턴 (0) | 2013.07.25 |
설정
트랙백
댓글
글
SELECT * FROM TAB; DESC DEPT; SELECT * FROM DEPT; DESC EMP; SELECT EMPNO,ENAME,JOB,SAL,DEPTNO FROM EMP; DESC EMP; SELECT EMPNO AS 사원번호,ENAME 사원이름,SAL 본봉,SAL*1.2 AS 총급여 FROM EMP; SELECT EMPNO,ENAME,COMM,COMM+100, SAL,SAL+COMM AS 총급여 FROM EMP; SELECT ENAME ||' 의 직업은 '||JOB || '입니다.' AS "이름 직업" FROM EMP; -- 중복행제거 /* 중복행제거 여러줄주석 */ SELECT DISTINCT JOB FROM EMP; SELECT EMPNO,ENAME,JOB,DEPTNO FROM EMP WHERE DEPTNO=30; SELECT * FROM EMP WHERE JOB='CLERK'; SELECT * FROM EMP; SELECT * FROM EMP WHERE HIREDATE='81/11/17'; SELECT * FROM EMP WHERE SAL<=1000; SELECT * FROM EMP WHERE SAL>=100 AND SAL <=2000; SELECT EMPNO,ENAME,SAL FROM EMP WHERE SAL BETWEEN 1000 AND 2000; SELECT EMPNO,ENAME,COMM FROM EMP WHERE COMM IS NULL; SELECT EMPNO,ENAME,COMM FROM EMP WHERE EMPNO IN(7369,7654,7934); SELECT EMPNO,ENAME,JOB,COMM FROM EMP WHERE JOB IN('CLERK','SALESMAN'); SELECT * FROM EMP WHERE ENAME LIKE 'A%'; SELECT * FROM EMP WHERE ENAME LIKE '%T%'; SELECT * FROM EMP WHERE ENAME LIKE '_L%'; SELECT * FROM EMP WHERE ENAME LIKE '%\_%' ESCAPE '\' ; SELECT * FROM EMP WHERE COMM IS NULL; SELECT * FROM EMP WHERE COMM IS NOT NULL; /* INSERT INTO EMP VALUES (9000,'M_BEER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10); DELETE FROM EMP WHERE EMPNO=9000; commit; */ SELECT * FROM EMP WHERE ENAME LIKE '%\_%' ESCAPE '\'; SELECT * FROM EMP; SELECT EMPNO,ENAME,HIREDATE FROM EMP ORDER BY HIREDATE ASC; SELECT EMPNO,ENAME,SAL*12 FROM EMP ORDER BY SAL*12 ASC; SELECT EMPNO,ENAME,SAL*12 FROM EMP ORDER BY 3 ASC; SELECT EMPNO,ENAME FROM EMP ORDER BY ENAME DESC; SELECT EMPNO,ENAME,SAL FROM EMP ORDER BY SAL DESC ,EMPNO ASC; --단일행함수 DESC DUAL; SELECT DUMMY FROM DUAL; SELECT ROUND(45.528,2),ROUND(45.582,0),ROUND(45.582,-1) FROM EMP; SELECT ROUND(45.528,2),ROUND(45.582,0),ROUND(45.582,-1) FROM DUAL; SELECT TRUNC(45.528,2) ,TRUNC(45.528,0),TRUNC(45.528,-1),TRUNC(45.528,-2) FROM DUAL; SELECT MOD(42342,7) FROM DUAL; SELECT EMPNO,ENAME,SAL,MOD(SAL,10) FROM EMP; SELECT CEIL(15.3),CEIL(-15.3) FROM DUAL; SELECT FLOOR(15.3),FLOOR(-15.3) FROM DUAL; SELECT HIREDATE FROM EMP; SELECT SYSDATE FROM DUAL; SELECT SYSTIMESTAMP FROM DUAL; SELECT EMPNO,ENAME,SYSDATE,HIREDATE,TRUNC((SYSDATE - HIREDATE)/7,0) FROM EMP; SELECT EMPNO,ENAME,TRUNC(MONTHS_BETWEEN(SYSDATE,HIREDATE),0) FROM EMP; SELECT EMPNO,ENAME,HIREDATE,ADD_MONTHS(HIREDATE,6) FROM EMP; SELECT SYSDATE,ADD_MONTHS(SYSDATE,6) FROM DUAL; ALTER SESSION SET NLS_LANGUAGE='AMERICAN'; SELECT SYSDATE,NEXT_DAY(SYSDATE,'SUN') FROM DUAL; ALTER SESSION SET NLS_LANGUAGE='KOREAN'; SELECT EMPNO,ENAME,HIREDATE,ROUND(HIREDATE,'MONTH'),SYSDATE,ROUND(SYSDATE,'MONTH') FROM EMP; SELECT EMPNO,ENAME,HIREDATE,ROUND(HIREDATE,'YEAR'),SYSDATE,ROUND(SYSDATE,'YEAR') FROM EMP; SELECT EMPNO,ENAME,HIREDATE,TRUNC(HIREDATE,'MONTH'),SYSDATE,TRUNC(SYSDATE,'MONTH') FROM EMP; SELECT EMPNO,ENAME,HIREDATE,TRUNC(HIREDATE,'YEAR'),SYSDATE,TRUNC(SYSDATE,'YEAR') FROM EMP; SELECT * FROM EMP; --변환함수 SELECT EMPNO,ENAME FROM EMP WHERE EMPNO='7839'; SELECT EMPNO,ENAME FROM EMP WHERE EMPNO=TO_NUMBER('7839'); SELECT EMPNO,ENAME,HIREDATE FROM EMP WHERE hiredate='82/01/23'; -- 1982-01-23 , 1982 01 23 SELECT EMPNO,ENAME,HIREDATE FROM EMP WHERE hiredate=to_date('82/01/23','RR/MM/DD'); ALTER SESSION SET NLS_LANGUAGE='AMERICAN'; SELECT EMPNO,ENAME,HIREDATE FROM EMP WHERE hiredate=to_date('1982 JANUARY 23','YYYY MONTH DD'); select hiredate,to_char(hiredate,'YYYY/MM/DD') from emp; select sysdate,to_char(sysdate,'YEAR MONTH DD DAY HH:MI:SS') from dual; select empno,ename,sal,to_char(sal,'L99,999.99') from emp; select empno,ename,sal,to_char(sal,'$99,999.90') from emp; select empno,ename,sal,comm,sal*12+comm, sal*12+NVL(comm,0) 총급여 from emp; select empno,ename,sal,comm,sal*12+comm, sal*12+NVL2(comm,comm,0) 총급여 from emp; select empno,ename,sal,comm,sal*12+comm, NVL2(comm,sal*12+comm,sal*12) 총급여 from emp; select empno,ename,sal, case job when 'ANALYST' then sal*1.1 when 'CLERK' then sal*1.2 when 'MANAGER' then sal*1.3 when 'PRESIDENT' then sal*1.4 when 'SALESMAN' then sal*1.5 else sal end "급여" from emp; select empno,ename,sal, case when job='ANALYST' then sal*1.1 when job='CLERK' then sal*1.2 when job='MANAGER' then sal*1.3 when job='PRESIDENT' then sal*1.4 when job='SALESMAN' then sal*1.5 else sal end "급여" from emp; select empno,ename,sal, case when sal>=1000 then sal*1.1 else sal end "급여" from emp; --GROUP FUNCTION select sum(sal),avg(sal),min(sal),max(sal) from emp; select count(*),count(comm),count(nvl(comm,0)),sum(comm),round(avg(nvl(comm,0)),2) from emp; select deptno,avg(sal) from emp group by deptno; select deptno,job,avg(sal) from emp group by deptno,job order by deptno asc; select deptno ,sum(sal) from emp where sal>800 group by deptno having sum(sal)>9000 order by deptno asc; SELECT DEPTNO , DECODE( JOB , 'CLERK', SAL) CLERK, DECODE( JOB , 'MANAGER', SAL) MANAGER FROM EMP; --ANSI JOIN SELECT EMPNO,ENAME,DNAME FROM DEPT,EMP; SELECT EMP.EMPNO,EMP.ENAME,DEPT.DNAME,DEPT.LOC FROM EMP,DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO; SELECT e.EMPNO,e.ENAME,e.DEPTNO,d.DEPTNO,d.DNAME,d.LOC FROM EMP e,DEPT d WHERE e.DEPTNO=d.DEPTNO AND e.EMPNO = 7788; SELECT e.EMPNO,e.ENAME,e.SAL,s.GRADE FROM EMP e,SALGRADE s WHERE e.SAL BETWEEN s.LOSAL AND s.HISAL; SELECT e.EMPNO,e.ENAME,e.SAL,s.GRADE FROM EMP e,SALGRADE s WHERE e.SAL>=s.LOSAL AND e.SAL<=s.HISAL; SELECT e.EMPNO,e.ENAME,e.DEPTNO,d.DEPTNO,d.DNAME,d.LOC FROM EMP e,DEPT d WHERE e.DEPTNO(+)=d.DEPTNO; INSERT INTO EMP VALUES(9999,'홍길동','MANAGER',7839,sysdate,2450,NULL,NULL); SELECT * FROM EMP; SELECT e.EMPNO,e.ENAME,e.DEPTNO,d.DEPTNO,d.DNAME,d.LOC FROM EMP e,DEPT d WHERE e.DEPTNO = d.DEPTNO(+); rollback; select * from emp; select a.ename "사원" ,b.ename "관리자" from emp a,emp b where a.mgr = b.empno(+); --SQL 1999 JOIN select empno,ename,dname,loc from emp cross join dept; select empno,ename,dname,loc from emp natural join dept; select empno,ename,dname,loc from emp join dept using(deptno); select empno,ename,dname,loc from emp join dept on emp.deptno=dept.deptno and dept.deptno=10; select empno,ename,sal,dname,loc from emp join dept on emp.deptno=dept.deptno and sal in(800,3000,5000); select e.empno,e.ename,d.dname,e.sal,s.grade from emp e join dept d on e.deptno=d.deptno join salgrade s on e.sal between s.losal and s.hisal; select a.ename "사원", b.ename "관리자" from emp a join emp b on a.mgr=b.empno; INSERT INTO EMP VALUES(9999,'홍길동','MANAGER',7839,sysdate,2450,NULL,NULL); select empno,ename,dname,loc from emp right outer join dept on emp.deptno=dept.deptno; select empno,ename,dname,loc from emp left outer join dept on emp.deptno=dept.deptno; select empno,ename,dname,loc from emp full outer join dept on emp.deptno=dept.deptno; select sal from emp where ename='SCOTT'; select empno,ename,sal from emp where sal > 3000; select empno,ename,sal from emp where sal >(select sal from emp where ename='SCOTT'); --DML insert into dept(deptno,dname,loc) values(90,'인사과','서울'); insert into dept values(80,'인사과','서울'); insert into dept(loc,dname,deptno) values('서울','인사과',70); select * from dept; desc dept; /* desc dept 이름 널 유형 ------ -------- ------------ DEPTNO NOT NULL NUMBER(2) DNAME VARCHAR2(14) LOC VARCHAR2(13) */ insert into dept(deptno,dname) values(91,'인사과'); insert into dept values(92,'인사과',null); desc emp; /* desc emp 이름 널 유형 -------- -------- ------------ EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2) */ insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(9000,user,'연구원',7839,sysdate,5000,null,90); select * from emp where empno >=9000; insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(9001,'홍길동','MANAGER',7839,'2012/03/22',2000,null,90); insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(9002,'임꺽정','MANAGER',7839, to_date('2012/03/20','YYYY/MM/DD'),2000,null,30); create table dept_1(deptno number(2),dname varchar2(14),loc varchar2(13)); desc dept_1; insert into dept_1(deptno,dname,loc) select deptno,dname,loc from dept; select * from dept_1; select * from dept; update dept set dname='경리과',loc='부산' where deptno=90; select * from emp where empno=9001; update emp set job=(select job from emp where empno=7900 ), sal=(select sal from emp where empno=7844 ) where empno=9001; update dept_1 set dname=( select dname from dept where deptno=30) where deptno=( select deptno from dept where dname='SALES'); select * from dept_1 where deptno=30; select * from dept_1; delete from emp where deptno=91; delete emp where deptno=(select deptno from dept where dname='경리과'); select deptno,dname from dept; select * from emp; rollback; select * from emp; select * from dept; delete from dept where deptno=91; delete from dept where deptno=70; delete from dept where deptno=80; delete from dept where deptno=92; select * from dept; commit; delete from emp; select * from emp; rollback; --DDL create table dept_2(deptno number(2),dname varchar2(10),loc varchar2(10)); desc dept_2; create table scott.dept_3(deptno number(2),dname varchar2(10),loc varchar2(10)); desc dept_3; create table def_table(num number(2),writeday date); create table def_table2(num number(2),writeday date default sysdate); insert into def_table(num) values(1); insert into def_table(num,writeday) values(2,sysdate); insert into def_table2(num) values(1); insert into def_table2(num,writeday) values(2,default); select * from def_table; select * from def_table2; create table new_tmp(tmp_id number(2),w_day date,w_day2 timestamp); desc new_tmp; insert into new_tmp values(1,sysdate,sysdate); select * from new_tmp; create table new_tmp2(tmp_id number ,w_day timestamp with time zone); desc new_tmp2; insert into new_tmp2 values(1,sysdate); insert into new_tmp2 values(2,sysdate); insert into new_tmp2 values(3,sysdate); insert into new_tmp2 values(4,sysdate); insert into new_tmp2 values(5,sysdate); select * from new_tmp2; create table new_tmp3(tmp_id number ,w_day timestamp with local time zone); insert into new_tmp3 values(1,sysdate); insert into new_tmp3 values(2,sysdate); insert into new_tmp3 values(3,sysdate); insert into new_tmp3 values(4,sysdate); insert into new_tmp3 values(5,sysdate); insert into new_tmp3 values(6,sysdate); insert into new_tmp3 values(7,sysdate); insert into new_tmp3 values(8,sysdate); insert into new_tmp3 values(9,sysdate); insert into new_tmp3 values(10,sysdate); select * from new_tmp3; SELECT SESSIONTIMEZONE, DBTIMEZONE, localtimestamp FROM dual; alter session set time_zone = '+09:00'; commit; create table new_tmp4 ( time1 interval year to month, time2 interval day to second); desc new_tmp4; insert into new_tmp4 values( interval '10-1' year to month, interval '10 10:10:10' day to second); select to_char(sysdate,'YYYY/MM/DD HH24:MI:SS'), to_char(sysdate+time1,'YYYY/MM/DD HH24:MI:SS'), to_char(sysdate+time1+time2,'YYYY/MM/DD HH24:MI:SS') from new_tmp4; create table deptA as select * from dept; desc deptA; select * from deptA; create table deptB(no,name) as select deptno,dname from dept; desc deptB; select * from deptB; create table deptC as select * from dept where 1=2; select count(*) from deptC; --constraint create table sawon( s_no number(4), s_name varchar2(10) not null, s_hiredate date constraint sawon_s_hiredate_nn not null ); desc sawon; select * from user_constraints where table_name='SAWON3'; insert into sawon values(1,'길동',sysdate); insert into sawon values(2,'춘향',sysdate); select * from sawon; --column level create table sawon2 ( s_no number(2), s_name varchar2(10), s_email varchar2(20) constraint sawon2_s_email_uk unique ); insert into sawon2 values(1,'홍길동','adb@abc.com'); insert into sawon2 values(2,'유관순','adb@abc.co.kr'); --insert into sawon2 values(3,'강감찬','adb@abc.co.kr'); -- table level create table sawon3 ( s_no number(2), s_name varchar2(10), s_email varchar2(20), constraint sawon3_s_email_uk unique(s_email) ); create table sawon4 ( s_no number(2), s_name varchar2(10), s_email varchar2(20), constraint sawon4_s_email_s_name_uk unique(s_name, s_email) ); INSERT INTO SAWON4 VALUES (1, '홍길동', 'ABC@ABC.CO.KR'); INSERT INTO SAWON4 VALUES (2, '유관순', 'ABC@ABC.CO.KR'); -- INSERT INTO SAWON4 VALUES (3, '유관순', 'ABC@ABC.CO.KR'); --unique constraint (%s.%s) violated INSERT INTO SAWON4 VALUES (3, '이순신', NULL); INSERT INTO SAWON4 VALUES (4, NULL, NULL); INSERT INTO SAWON4 VALUES (5, NULL, NULL); --유니크에 안걸려서 중복삽입 가능. SELECT * FROM SAWON4; --12.16 PRIMARY KEY 제약조건 /* : 테이블에 기본키를 의미하며, 한 개의 테이블에는 오직 한 개의 기본키를 만들 수 있다. : UNIQUE + NOT NULL 제약조건 특성을 갖는다. : 테이블 수준 및 컬럼 수준 , 2 가지 방법 모두 사용 가능하다. : UNIQUE 와 마찬가지로 INDEX 가 자동 생성된다. CONSTRAINT 이름 UNIQUE,NOTNULL,PRIMARY 해주면 된다. */ CREATE TABLE SAWON5 ( S_NO NUMBER(2) CONSTRAINT SAWON5_S_NO_PK PRIMARY KEY, S_NAME VARCHAR2(10), S_SAL NUMBER(10) ); --방법1 INSERT INTO SAWON5 VALUES(1, '이순신', 2000); -- INSERT INTO SAWON5 VALUES(1, '김순신', 2000); --"unique constraint (%s.%s) violated" CREATE TABLE SAWON6 ( S_NO NUMBER(2), S_NAME VARCHAR2(10), S_SAL NUMBER(10), CONSTRAINT SAWON6_S_NO_PK PRIMARY KEY (S_NO)); -- 방법2 select * FROM user_constraints WHERE TABLE_NAME = 'SAWON6'; --12.17FOREIGN KEY 제약조건 /* : 참조 무결성 제약조건이라고도 한다. : 반드시 다른 테이블의 기본키나 또는 UNIQUE 컬럼의 값을 참조하도록 제한한다. ( NULL허용) */ CREATE TABLE DAPT2 ( DEPTNO NUMBER(2) CONSTRAINT DEPT2_DEPTNO_PK PRIMARY KEY, DNAME VARCHAR2(10), LIC VARCHAR2(10) ); RENAME DAPT2 TO DEPT2; INSERT INTO DEPT2 VALUES (10, '인사', '서울'); -- INSERT INTO DAPT2 VALUES (10, '총무', '서울'); --unique constraint (SCOTT.DEPT2_DEPTNO_PK) INSERT INTO DEPT2 VALUES (20, '인사', '부산'); SELECT * FROM DEPT2; -- 외래키참조 CREATE TABLE EMP2 ( EMPNO NUMBER (4) CONSTRAINT EMP2_EMPNO_KO PRIMARY KEY, ENAME VARCHAR2(10), SAL NUMBER(10), DEPTNO NUMBER(2) CONSTRAINT EMP2_DEPTNO_FK REFERENCES DAPT2(DEPTNO) ); SELECT * FROM user_constraints WHERE TABLE_NAME = 'EMP2'; INSERT INTO EMP2 VALUES (1111,'이효리',5600, 10); INSERT INTO EMP2 VALUES (2222,'강수지',5600, 20); -- INSERT INTO EMP2 VALUES (2222,'강수지',5600, 14); --unique constraint (SCOTT.EMP2_EMPNO_KO) violated SELECT * FROM EMP2; CREATE TABLE EMP3 ( EMPNO NUMBER (4) CONSTRAINT EMP3_EMPNO_PK PRIMARY KEY, ENAME VARCHAR2 (10), SAL NUMBER(10), DEPTNO NUMBER(2), CONSTRAINT EMP3_DEPTNO_FK FOREIGN KEY (DEPTNO) REFERENCES DEPT2(DEPTNO)); INSERT INTO EMP3 VALUES (1111,'이효리',5600, 10); INSERT INTO EMP3 VALUES (2222,'강수지',5600, 20); SELECT * FROM EMP3; /* FOREIGN KEY 추가옵션 - 부모 테이블의 행 삭제 시 문제될 수 있는 자식테이블 행 설정법. : ON DELETE CASCADE - FK 제약조건에 의해 참조되는 테이블( 부모 테이블)의 행이 삭제되면, 해당 행 을 참조하는 테이블(자식 테이블)의 행도 같이 삭제되도록 한다. : ON DELETE SET NULL - FK 제약조건에 의해 참조되는 테이블( 부모 테이블)의 행이 삭제되면, 해당 행 을 참조하는 테이블(자식 테이블)의 행을 NULL 로 설정한다. */ --CHECK CONSTRAINT CREATE TABLE SAWON7 ( S_NO NUMBER(4), S_NAME VARCHAR2(10), S_SAL NUMBER (10) CONSTRAINT SAWON7_S_SAL_CHK CHECK(S_SAL > 500) ); --행 레벨 CREATE TABLE SAWON8 ( S_NO NUMBER(4), S_NAME VARCHAR2(10), S_SAL NUMBER (10), CONSTRAINT SAWON8_S_SAL_CHK CHECK(S_SAL > 500) ); --테이블레벨 --INSERT INTO SAWON7 VALUES (1, '김미은', 400); --check constraint (SCOTT.SAWON7_S_SAL_CHK) violated INSERT INTO SAWON7 VALUES (2, '김미숙', 600); SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME ='SAWON7'; --DROP /* 데이터베이스에서 해당 테이블을 제거하는 것이다. : 테이블에 저장된 모든 데이터와 관련 INDEX가 삭제된다. */ DROP TABLE SAWON8; DESC SAWON8; -- TRUNCATE: /*테이블잘라내기 : 테이블의 모든 행들을 삭제할수있다. : 테이블이 사용하고 있던 저장 공간을 해제하여 다른 테이블들이 사용 할 수 있도록 한다. : DELETE 명령은 저장공간을 해제하지 않는다. : ROLLBACK 정보를 발생시키지 않아서 DELETE 보다 수행속도가 빠르다 단, DELETE와 달리 ROLLBACk 은 불가능하다. */ TRUNCATE SAWON8; ----------------- 2013.03.26 화요일 --CH13. 기타스키마 객체 -- 13.3 VIEW CREATE VIEW EMP_VIEW AS SELECT EMPNO, ENAME, SAL, HIREDATE FROM EMP WHERE DEPTNO= 10; -- "insufficient privileges" -> 권한 줘야 함. sys에서 grant create view to scott; desc emp_view ; select * from emp_view; create view dept_view as select deptno as no, dname name from dept; desc dept_view; select * from dept_view; -- 13.4 view 수정 create or replace view dept_view as select deptno no, dname name, loc location from dept; desc dept_view; select * from dept_view; -- 13.4 복합 뷰 생성 create view emp_dept_view as select empno, ename, dname from emp, dept where emp.deptno = dept.deptno and dept.deptno = 30; desc emp_dept_view; select * from dept_view; select * from emp_view; delete from emp_view where empno = 7782; --13.6 제약조건 create or replace view emp_view as select * from emp where deptno = 10 with check option constraint empview10_check; select * from emp; update emp_view set deptno = 10 where ename = 'KING'; select * from emp; -- 13.6 WITH READ ONLY create or replace view dept_view as select * from dept where deptno = 10 with read only; delete from dept_view; -- cannot perform a DML operation on a read-only view select * from emp; --13.9 시퀀스 사용 create sequence emp_empno_seq increment by 1 start with 100; desc user_sequences; select * from user_sequences; insert into emp values (emp_empno_seq.nextval, '김수미', '인사', null, sysdate, 2500, 300, 40); select * from emp; select emp_empno_seq.currval from dual; -- 현재 값 보기 select emp_empno_seq.nextval from dual; -- nextval 할 때 마다 값이 증가 alter sequence emp_empno_seq increment by 2; -- 다시 되돌려줌 select emp_empno_seq.nextval from dual; select emp_empno_seq.currval from dual; drop sequence emp_empno_seq; -- sequence EMP_EMPNO_SEQ이(가) 삭제되었습니다. -- 13.11 인덱스 -> 넘어갈게요. 회사가서 하시면됩니다. --01. 사용자관리 -- 1.5 사용자에게 권한 부여 -- grant create session, create table to suin; --권한주기(suin 이 conn 생성가능) select * from session_privs; -- 1.7 객체권한 부여 grant select on dept to OSI; grant select on emp to OSI; grant update(dname) on dept to OSI;
'DATABASE' 카테고리의 다른 글
[펌] UNION과 UNION ALL 의 차이 및 주의 사항 (0) | 2014.02.28 |
---|---|
[펌] 트랜잭션 로그 백업(Transaction Log Backup)에 관하여 (0) | 2013.11.05 |
TRUNCATE (0) | 2013.09.25 |
CRUD 의 중요도? (0) | 2013.08.02 |
DECODE, RANK()OVER(), UNION/UNION ALL (1) | 2013.08.02 |
설정
트랙백
댓글
글
/*
오버로딩(다중정의)
1. 자바 다형성구현기법 중의하나이다.
2. 정의: 같은메쏘드 이름으로 여러개를 정의하는방법
- 규칙:
* 메쏘드의 이름이 같아야한다.
* 메쏘드의 인자의 숫자가 다르거나
* 메쏘드의 인자의 타입이 달라야한다.
* 메쏘드의 리턴타입,접근지정자는 상관없다.
*/
//------ Printer.java ------
public class Printer { public void print (int a){ System.out.println("int print: "+a); } public void print (char c){ System.out.println("char print: "+c); } public void print (String str){ System.out.println("String print: "+str); } public void print (boolean b){ System.out.println("boolean print: "+b); } public void booleanprint (boolean b){ System.out.println("boolean print2: "+b); } public static void main(String[] args) { Printer p = new Printer(); p.print(false); p.booleanprint(true); //얘는 오버로딩 안하고 그냥 쓰는거. p.print("U"); p.print(7); p.print("HAVE A GOOD TIME"); } }
//------ Overloading.java ------
public class Overloading { public void method (){ System.out.println("public void method ()"); } public void method (int a){ System.out.println("public void method (int a)= "+a); } //인자의 타입 public void method (float a){ System.out.println("public void method (float a)= "+a); } public void method (char a){ System.out.println("public void method (char a)= "+a); } //인자의 수 public void method (int a, int b){ System.out.println("public void method (int a, int b)= "+a+", "+b); } /* //메소드 리턴타입 public void method1 (){ } public int method1 (){ return 0; } //접근 지정자 public void method2 (){ } private void method2 (){ } */ public static void main(String[] args) { Overloading ol = new Overloading(); ol.method() ; ol.method(3.1f); ol.method(3); ol.method('K'); ol.method(1, 2); } }
'JAVA > 자바실습' 카테고리의 다른 글
[JAVA] OOP Encapsulation 캡슐화 (0) | 2013.06.12 |
---|---|
[JAVA] OOP BASIC (객체지향 프로그래밍 기초) (0) | 2013.06.12 |
[JAVA] 자바기본2: For, While 문을 이용한 구구단, 별 찍기, 알파벳 출력 등 (0) | 2013.06.12 |
[JAVA] 자바기본1: 연산자, 형변환, 문자열 출력, if문, 윤년출력 (0) | 2013.06.11 |
RECENT COMMENT