Synonym을 사용하는 이유 데이터베이스의 투명성을 제공하기 위해서 사용 한다고 보면 된다. 시노님은 다른 유저의 객체를 참조할 때 많이 사용을 한다. 만약에 실무에서 다른 유저의 객체를 참조할 경우가 있을 때 시노님을 생성해서 사용을 하면은 추후에 참조하고 있는 오프젝트가 이름을 바꾸거나 이동할 경우 객체를 사용하는 SQL문을 모두 다시 고치는 것이 아니라 시노님만 다시 정의하면 되기 때문에 매우 편리 하다. 객체의 긴 이름을 사용하기 편한 짧은 이름으로 해서 SQL코딩을 단순화 시킬 수 있다. 또한 객체를 참조하는 사용자의 오브젝트를 감추 수 있기 때문에 이에 대한 보안을 유지할 수 있다. 시노님을 사용하는 유저는 참조하고 있는 객체를에 대한 소유자, 이름, 서버이름을 모르고 시노님 이름만 알아도 ..
ADD_MONTHS 함수- ADD_MONTHS( Date, Integer )- 반환 : Date- 해석 : input Date 날짜에서 integer로 들어온 숫자만큼의 달을 증가시켜준다. 즉 ADD_MONTHS( 1월2일, 3) -> 4월 2일 반환. 왜 사용하는가? - 개발을 하면서 특정 날짜에서 10달 후 혹은 100달 후의 날짜가 필요할 수 있습니다. 그때 사용하는 함수가 ADD_MONTHS 함수입니다. 기준일과 플러스할 달의 숫자를 인자로 보내면 숫자만큼 지난 날짜가 나오게 됩니다. 지금으로부터 100달후의 날짜를 알고싶으면 ADD_MONTHS(sysdate,100) 이 되겠네요. - 또한 월을 추가할때 부담되는 것이 매년 해당 월의 갯수가 같은것만은 아니라는 것!. 다른 달은 30 or 31일..
엑셀로 테이블에 데이터 삽입하는 방법 1. sql developer에서 삽입할 테이블의 구조를 확인한다.( 컬럼명만 확인하면 됨 사이즈가 있는 경우 엑셀 파일에서 해당 사이즈 넘지 않도록 조절한다.) 설계한 테이블의 정보. 2. 컬럼명에 맞춰서 데이터를 기입한다.(컬럼명의 대소문자는 오라클에서는 오브젝트의 대소문자를 구분하지 않기 때문에 상관X) 3. sql developer에서 사용자의 테이블을 우클릭 후 "데이터 임포트"를 클릭한다 4. 데이터 임포트 마법사가 열리면 로컬에서 엑셀파일을 찾아 업로드 한후 다음을 클릭한다. 5. 계속 다음을 누르면서 완료버튼을 누른다. 6. 데이터를 성공적으로 임포트 했다면 다음과 같은 알림창이 뜰 것이다. 주의사항 - 삽입하는 테이블에 insert 트리거가 걸려있는 ..
참조형- 원본(컬럼)의 자료형을 참조해서 변수의 자료형으로 사용할 수 있다.- 원본(컬럼)의 자료형을 몰라도 된다.- 유지 보수 용이 1. %type- 대상 컬럼의 자료형과 길이를 참조해서 해당 변수에 적용하겠습니다.- 복사되는 항목 a. 자료형(varchar2, integer) b. 길이 (20, 30) c. not null declare vname tblInsa.name%TYPE; --varchar2(20) not null vbuseo tblInsa.buseo%type;begin select name,buseo into vname,vbuseo from tblInsa where (basicpay+sudang) = (select min(basicpay+sudang) from tblInsa); --심심해 ..
프로시저, Procedure - 함수,메소드,서브루틴 등..- 특정 목적을 가지고 모인 순서대로 실행하는 명령어의 집합. 프로시저 종류1. 익명 프로시저 : 이름없음 > 재사용 목적X > 동작방식(표준 SQL 동일) ,확장기능 때문에 사용2. 실명 프로시저 : 이름있음 > 재사용 목적O > 동작방식(PL / SQL 동일 , 재사용) *SQL Developer에서 출력문인 dbms_output.put_line()을 사용하기 위해서 서버 출력을 켜는 쿼리 set serveroutput on; PL / SQL 블럭구조 1. 4개의 키워드로 구성 a. [declare] b. begin c. [exception] d. end 2. declare - 선언부, declare section- 프로그램에서 사용되는 변수..
PL/SQL - Procedural Language Extensions to SQL(+절차,제어)- 표준 SQL : 비 절차성 (명령어들 간에 순서가 없다. 명령어들 끼리의 연속적이지 않다.)- 표준 SQL + 절차적 기능 추가 -> 오라클 추가 SQL- 추가된 부분 : 자바의 프로그래밍 기능 추가( 변수, 제어문, 메소드 등..)- 오라클 전용 SQL - 표준 SQL PL/SQL : 표준 SQL과 자료형을 거의 통일시켰다.- 표준 SQL : 문장종결자 필수X- PL / SQL : 문장종결자 필수 O SQL 처리과정 & 순서 1. 표준 SQL : 클라이언트 구문 작성(select문) > 실행(Ctrl + Enter) > 네트워크를 통해 SQL(문자열) DBMS 서버에 전달. > 구문분석(파싱) > 컴파일..
사용자 관련 SQL- DCL의 한 부분- 계정 생성 + 삭제- 리소스 접근 권한 제어사용자 계정 생성하기- 시스템 권한을 가지고 있는 계정만 가능하다. 새 계정 관리하기- create user 계정명 identified by 암호; 계정 생성 + 암호지정- alter user 계정명 identified by 암호; 암호 수정- drop user 계정명; 계정 삭제 - 프로젝트 용도 > 계정(스키마) 생성 > 작업공간 별도로 생성( 즉 프로젝트마다 계정을 만들어서 각각의 계정별 DB를 따로 관리) - hr 계졍 로그인해서 다음의 쿼리를 입력!create user team identified by java1234; --> 안됨 왜냐면 시스템 권한이 없는 계정으로 해서.(hr은 권한이 없음) - system계..
인덱스, Index- 색인- 검색(select)을 빠른 속도로 하기 위해서 사용하는 도구- 오라클은 테이블 생성 시 인덱스를 따로 생성하지 않아도 자동으로 생성된다. -> PK, Unique 컬럼 자동으로 색인 생성. -> PK 컬럼 검색속도 >>>>> 일반 컬럼 검색속도 : PK는 자동으로 Index를 생성하기 때문에 검색속도 차이 비교 먼저 일반컬럼을 검색했을때 반환되는 속도는 select * from tblIndex where name ='정소은'; 0.08초 name 컬럼에 인덱스 생성하기>> create index idxIndexName on tblIndex(name); 색인 후select * from tblIndex where name ='정소은'; 0.003초 >> 훨씬 빨라진 모습을 보인다..