(오라클) Sequence/시퀸스의 활용과 개념
"왜 우린 오라클에서 시퀸스를 써야하는가?"
매일 오라클 사용자가 insert을 써서, 값을 일일이 타이핑 하는것도 노가다다.
우리 인간은 똑똑하기 때문에, sequence라는 걸 만들어서 자동화가 되게 만들었다.
간단한 규칙과 몇개의 숫자면 자동화가 된다는 얼마나 time-saving이라는 것 인가.
수학이랑 똑같다.
1, 2 , 3, 4, 5, 6...100
이 시퀸스를 보면 무슨 생각이 드는가? 수학적으로 해석하면,
1부터 시작,
100이 끝
+1 만큼
순환 x
이걸 우리는 영어로 쓸것이다.
"시퀸스는 어떻게 써야하는가?"
아무 계정에서, create table 을 해서 sequence 을 만들것이다.
create table emp01(
empNo number(13) primary key,
name varchar2(50) not null,
hire_date date
);
sequence을 만드는 방법이 두가지가 있는데,
하나는 일일히 입력해서 만드는 것이고,
create sequence emp_SEQ
minvalue 1 //최솟값
maxvalue 999999999999999999 // 최대값
increment by 10 //증가값
start with 10 //10부터 시작
nocycle; //주기 없음
또 하나느 테이블을 펼쳐서 시퀸스를 눌러주고, 값을 입력해주면 된다.
시퀸스-> 오른쪽 마우스 클릭 -> 새 시퀸스
테이블에서 행을 집어넣을때
insert으를 쓴다
insert into emp01(empNo, name, hire_date) values(emp_SEQ.nextval, 'lucky', sysdate);
이렇게 모든걸 보여준다.
매일 오라클 사용자가 insert을 써서, 값을 일일이 타이핑 하는것도 노가다다.
우리 인간은 똑똑하기 때문에, sequence라는 걸 만들어서 자동화가 되게 만들었다.
간단한 규칙과 몇개의 숫자면 자동화가 된다는 얼마나 time-saving이라는 것 인가.
수학이랑 똑같다.
1, 2 , 3, 4, 5, 6...100
이 시퀸스를 보면 무슨 생각이 드는가? 수학적으로 해석하면,
1부터 시작,
100이 끝
+1 만큼
순환 x
이걸 우리는 영어로 쓸것이다.
"시퀸스는 어떻게 써야하는가?"
아무 계정에서, create table 을 해서 sequence 을 만들것이다.
create table emp01(
empNo number(13) primary key,
name varchar2(50) not null,
hire_date date
);
sequence을 만드는 방법이 두가지가 있는데,
하나는 일일히 입력해서 만드는 것이고,
create sequence emp_SEQ
minvalue 1 //최솟값
maxvalue 999999999999999999 // 최대값
increment by 10 //증가값
start with 10 //10부터 시작
nocycle; //주기 없음
또 하나느 테이블을 펼쳐서 시퀸스를 눌러주고, 값을 입력해주면 된다.
시퀸스-> 오른쪽 마우스 클릭 -> 새 시퀸스
테이블에서 행을 집어넣을때
insert으를 쓴다
insert into emp01(empNo, name, hire_date) values(emp_SEQ.nextval, 'lucky', sysdate);
시퀸스에서 다른 insert 처럼 값을 바꿔서 넣지 않아도 된다
왜냐하면, 시퀸스에서 lucky란 이름은 중복되어도 되서 에러도 안뜨고
empNo만 중복이 안되면 에러가 안뜬다.
계속 ctrl + enter을 누르면 누른 숫자 만큼 데이타가 입력된다.
삭제하고 싶을때에는,
delete emp01 where empno = 30;
삭제하고 싶은, empNo =30, 을 써준다
왜 empNO을 쓰고 이름이나 hire_date을 안쓰냐? 왜냐하면, 이것들은 다 중복될수있는
데이타 이기 때문이다.
"관리자 계정 (sys)에서 모든 시퀸스를 볼려면?"
select * from dba_sequences;
댓글
댓글 쓰기