일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- hadoop
- 파이썬
- 숫자야구소스
- 이토록 쉬운 통계&R
- code
- if문
- 생활코딩
- 데이터과학
- DATABASE
- 리스트
- DataAnalysis
- python
- big_data
- 코딩야학
- 숫자야구
- BigData
- 하둡
- 데이터분석
- list
- sql
- for문
- 임경덕
- R
- 함수
- 빅데이터
- 데이터사이언스
- 숫자야구코드
- stat
- 루비페이퍼
- 야학
Archives
- Today
- Total
yekang
sequence, subquery 본문
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | SELECT * FROM user_constraints; -- set unused 예제 CREATE TABLE emp_copy AS SELECT * FROM employees; ALTER TABLE emp_copy DROP (hire_date,commission_pct); DESC emp_copy; ALTER TABLE emp_copy SET UNUSED (email,job_id,first_name); -- drop column과 같은데 실제로 지우진 않는다. 공간을 차지한다는 차이만 있다. DESC emp_copy; SELECT * FROM user_unused_col_tabs; -- 내 소유에 unused된거 보여준다...테이블과 unused 개수. ALTER TABLE emp_copy DROP UNUSED COLUMNS; SELECT * FROM emp_copy; DESC emp_copy; CREATE OR REPLACE VIEW empvu20 AS SELECT * FROM emp_copy WHERE department_id=20; SELECT * FROM empvu20; INSERT INTO empvu20(employee_id,last_name,department_id) VALUES (999,'James',30); SELECT * FROM empvu20; -- 들어가도 부서가 20번이 아니라서 여기서는 안나오고 emp_copy에선 보인다. SELECT * FROM emp_copy; -- 이를 방지하는 것이 with check option이다. CREATE OR REPLACE VIEW empvu20 AS SELECT * FROM emp_copy WHERE department_id=20 WITH CHECK OPTION; INSERT INTO empvu20(employee_id,last_name,department_id) VALUES (888,'Jill',20); --> 제약조건 위배 에러 CREATE SEQUENCE dept_deptid_seq START WITH 120 INCREMENT BY 10 MAXVALUE 9999 NOCYCLE NOCACHE; -- 처음에는 nextval밖에 안된다. currval 안된다. SELECT dept_deptid_seq.NEXTVAL FROM dual; -- 120 SELECT dept_deptid_seq.NEXTVAL FROM dual; -- 130 SELECT dept_deptid_seq.CURRVAL FROM dual; -- 130 , 현재 value SELECT dept_deptid_seq.NEXTVAL, dept_deptid_seq.NEXTVAL FROM dual; -- 140, 140 나온다. -- seq은 row 1개당 1번 실행된다. 왼쪽의 nextval과 오른쪽의 nextvalㅇ ㅣ같다. SELECT dept_deptid_seq.NEXTVAL FROM employees; -- 20건이라서 150부터 340까지 나온다. --INSERT INTO departments VALUES (dept_deptid_seq.NEXTVAL) --ROWID SELECT ROWNUM,ROWID,last_name FROM employees; SELECT * FROM employees WHERE ROWID='AAAFEIAAEAAABP1AAM'; | cs |
'빅데이터 > SQL' 카테고리의 다른 글
옵티마이저와 실행계획 (0) | 2018.03.15 |
---|---|
SQL 기본 (1) (0) | 2018.02.26 |
동의어 SYNONYM (0) | 2018.01.04 |
날짜 형식 모델의 요소 ,DECODE 함수, 그룹함수 중복, 조인, CRUD, insufficient privileges (0) | 2018.01.02 |
날짜에 대한 ROUND, TRUNC 함수 (0) | 2017.12.29 |
Comments