Develop/Oracle SQL DATABASE 7

0620 Oracle SQL 7일차 기본 마무리

커서(cursor) declare --커서를 쓴다면 선언할 변수가 없어도 써줘야한다. vname members.name%type; vsalary members.salary%type; vdepart members.depart%type; cursor sel_cursor is -- 해당 결과값이 커서에 담김 select name,salary,depart from members where salary >=1000; begin open sel_cursor; --호출 loop fetch sel_cursor into vname,vsalary,vdepart exit when sel_cusor%NOTFOUND; --없으면 나가라 dbms_output.put_line(vname||','||vsalary||','||vdep..

0616 Oracle SQL 5일차

외래키(foreign key) references create table employee( eno number, ename varchar2(10), deptno number references dept(deptno) ); 이렇게 테이블을 짜면 dept라는 테이블의 deptno 외의 값이 들어가면 무결성 제약조건에 위배되어 insert를 할 수 없다. dept를 부모 테이블 deptno를 부모키 employee를 자식 테이블 imployee의 deptno를 자식키 혹은 외래키라고 부른다. 이때 부모키는 꼭 기본키 혹은 고유키여야한다. (primary key 혹은 unique) 자식 레코드의 자식키에 사용된 부모키는 무결성 제약조건에 위배되어 삭제할 수 없다. 원만하게 삭제해주기 위해선 자식키를 생성할 때 ..

0615 Oracle SQL 4일차~

having 그룹함수를 조건으로 써야한다면 where이 아닌 having을 통해 구할 수 있다. select PUBLISHER,avg(price) from book group by PUBLISHER having avg(price) >1600; having은 group by 뒤에 써준다. select PUBLISHER,avg(price) from book where day like '9%' group by PUBLISHER having avg(price)>=(select avg(price) from book) order by publisher desc; select depart,avg(salary) from members group by depart having avg(salary)>(select avg(..

0614 Oracle SQL 3일차!

alter 모든 alter는 자동으로 commit 된다. [칼럼 추가] alter table 테이블명 add(칼럼 타입(칼럼 사이즈)); SQL> alter table members add(hphone varchar2(13)); [칼럼 타입 수정] alter table 테이블명 modify(칼럼 타입(칼럼 사이즈)); SQL> alter table members modify(hphone varchar2(20)); [칼럼 이름 수정] alter table 테이블명 rename column 전칼럼명 to 새칼럼명; SQL> alter table members rename column hphone to ph; [칼럼 삭제] alter table 테이블명 drop column 삭제할칼럼; SQL> alter t..

0613 Oracle SQL 2일차

검색식 예를 들어 같은 칼럼의 조건 2개를 동시에 (i 이상 j 이하)의 경우 and를 통해 찾을 수도 있지만 between/and로도 찾을 수 있다. 특정 단일 조건은 in을 통해서도 찾을 수 있다. select * from members where id=1 or id=4 or id=7; select * from members where id in (1,4,7); date 타입의 칼럼에서 1950년 기준으로 앞 연도를 생략하면 51은 1951이 49는 2049가 된다. select id as 번호, name as 이름 from members; as란 별칭을 설정할 때 사용하는 명령어로 해당 칼럼의 이름을 as로 바꿔준다. (별칭에 공백이 있을땐 꼭 큰따옴표 " "로 둘러싸줘야한다.) as를 생략해도 별..

0610 Oracle SQL DATABASE 첫 수업

처음 해보는데... 어... 어렵다 쉽다를 떠나서 초반이라 그런지 정말.. 재미가 없었습니다... 자바는 정말 재밌게 배웠거든요. 과제풀면서 일부러 시키시지도 않는 기능이나 구현하고 이것저것 도전도 많이 해봤었는데 데이터베이스는 자유도가 심히 떨어져서 그런지 아니면 너무 초반이라 할 수 있는게 없어서 그런지 배움의 첫단추를 꿰는데 고생중입니다. ㅠㅠ 열심히 해보겠습니다! Oracle 행= Row=record 열=column=id int = number String = varchar2(글자제한 ) :한글1글자=3자리 -- = 주석 칼럼의 타입을 지정하는 데이터 타입은 칼럼명 뒤에 온다. create table members( id number primary key, --unique(중복X)+not null..

Oracle 첫 접속!

관리자 계정 접속 사용자명 : sys 비밀번호 : oracle as sysdba 복사 붙여넣기 드래그+엔터후 붙여넣기 단축키 alter session set "_oracle_script"=true; create user kim identified by 1234 account unlock; grant connect, resource to kim; grant create table, create sequence to kim; 전체 과정 사용자명 입력: sys 비밀번호 입력: oracle as sysdba 다음에 접속됨: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> show user USER은 "SYS"입니다..