[ Oracle ] 프로시저와 sql*plus 예제 (프로시저 호출하는 방법)
·
Archive/Develop
아래 sql 예제들은 oracle에서 기본 제공하는 scott 스키마를 이용했다. 프로시저 호출 프로시저는 select 문에서 호출할 수 없고, 다른 모듈에서 호출해 사용한다. p_midsal 이라는 프로시저를 다른 모듈에서 호출하려면, 아래와 같이 쓰면 된다. > begin p_midsal(3); end; / 또는 sql*plus 명령을 아래와 같이 써서 호출할 수도 있다. > exec p_midsal(2); 우선 emp 와 동일한 내용을 가진 testemp 테이블을 만들고 컬럼을 추가하겠다. 프로시저 예제 -- CTAS 기법으로 testemp 테이블을 만들고 컬럼 두개를 추가하시오. -- (grade number(), sumsal number(10)) create table testemp as sel..
[ Oracle ] Oracle PL/SQL 화면출력 & 간단 예제
·
Archive/Develop
PL/SQL 이란? 오라클에서 제공하는 프로그래밍언어로, Procedural Language/SQL 의 약자이다. 일반 프로그래밍 언어적인 요소를 거의 다 가지고 있기 때문에 실무에서 요구되는 절차적인 데이터 처리를 다 할 수 있다. 특히 SQL과 연동되어서 막강한 기능을 구현할 수 있다. 데이터 트랜잭션 처리능력이나 정보보호, 데이터 대한 보안, 예외처리 기능, 객체지향 등 데이터베이스와 관련된 중요한 모든 기능을 지원하기 때문에 데이터베이스 업무를 처리하기에 최적화된 언어이다. PL/SQL 기본 구조 선언부, 실행부, 예외처리부로 구성된다. Anonymous PL/SQL Block과 Stored PL/SQL Block이 있다. 주의! PL/SQL 은 기본적으로 처리된 PL/SQL 문장의 결과를 화면에..
[ Oracle ] 오라클 서브쿼리 예제
·
Archive/Develop
아래 예제는 오라클에서 기본제공하는 hr 스키마를 이용했습니다. --ex 2-1) 부서별로 사원의 수가 5명 이상인 부서의 -- 부서번호와 부서명 -- , 부서장사번, first_name을 인원수순으로 출력하라. select d.department_id, d.department_name, d.manager_id, (select first_name from employees where d.manager_id = employee_id ), count(*) from departments d join employees e on d.department_id = e.department_id group by d.department_id, d.department_name, d.manager_id having count..
[ Oracle ] Oracle CTAS 기법으로 테이블 복사하기
·
Archive/Develop
CTAS 란? : copy table as 를 의미한다. create table testemp as select * from emp; select * from testemp; desc user_constraints; 첫번째 sql 문을 실행하면 테이블이 복사된다. 이 상태로 select 문을 실행시킨다. emp 테이블이 복사된 것을 알 수 있다.