사용자 삽입 이미지


사용 테이블을 다음과 같다.(SCOTT으로 접속하면 디폴트로 깔린 EMP 테이블을 그대로 재생성한 테이블)
사용자 삽입 이미지
생성한 프로시저
사용자 삽입 이미지
위에 보는 바와 같이 EXCEPTION 절을 이용해서 발생가능한 에러에 대한 처리를 지정해주고
해당 에러가 발생했을 때 표시해주도록 하였음.

사용자 삽입 이미지

본 예제에서는 실제 위에 코딩한 에러가 발생한 상황을 도출하도록 처리하지는 않았다.
하지만 코딩을 하다보면 에러는 필연적으로 발생하는 것 같다.
구미에 맞게 수정하여 사용하시길 바라며..
프로시저 생성시 에러가 발생하면
 
SQL>show error 를 해보는 것도 문자를 잘못쓰거나 쉼표를 빼먹든지 하는 경우. 도움이 될 것이다.

위의 코드는 내 나름대로 코딩하고 실행결과를 토대로 작성하였으나 효율적인 코딩이라고는
말할 수 없고 효율적인 에러처리 루틴도 추가하여 보다 좋은 코딩으로 만드는 것은 독자들의 몫이라 생각하며..
이만..
Posted by 원철연(체르니)
,
사용자 삽입 이미지

위와 같은 cursor_tes라는 프로시저를 생성하고 실행하면 아래와 같다.
사용자 삽입 이미지







Posted by 원철연(체르니)
,
사용자 삽입 이미지

실행결과
사용자 삽입 이미지

다음으로 구구단에 대해서 알아보자.
사용자 삽입 이미지

실행결과
사용자 삽입 이미지

위의 실행결과는 단순히 1부터 9까지의 보여주는 것으로 위의 화면은 화면관계상 3단까지만 출력결과를
올렸음. 다음으로 두 수를 입력받아 구구단을 출력한 결과이다.(물론 1보다 작거나 9보다 클 때를
제한하는 체크루틴는 포함되지 않았음.)
사용자 삽입 이미지

이상으로 오늘의 연습문제를 마칩니다.

'컴퓨터 관련 무료강좌 > 오라클(ORACLE)' 카테고리의 다른 글

ORACLE-예외처리  (0) 2008.05.01
ORACLE-커서사용하기  (0) 2008.04.30
ORACLE-특수문자 출력하기  (0) 2008.04.29
ORACLE-PL/SQL-SP3  (1) 2008.04.28
ORACLE-SP사용하기2  (1) 2008.04.28
Posted by 원철연(체르니)
,
사용자 삽입 이미지

단순하기 생각하면 위와 같이 하드코딩(?)하면 되지만 아래와 같이 프로시져로 작성하여 원하는 문자를 입력받아서 출력하는 스크립을 만들어 보았다.
사용자 삽입 이미지

실행결과
기본
사용자 삽입 이미지

응용
사용자 삽입 이미지

위와 같이 사용자가 원하는 문자를 입력받아 출력하는 프로시져를 간단하게 만들어 보았다.
그럼..



'컴퓨터 관련 무료강좌 > 오라클(ORACLE)' 카테고리의 다른 글

ORACLE-커서사용하기  (0) 2008.04.30
ORACLE-구구단구하기, 두 수사이의 누적합 구하기  (0) 2008.04.30
ORACLE-PL/SQL-SP3  (1) 2008.04.28
ORACLE-SP사용하기2  (1) 2008.04.28
ORACLE-FUNCTION  (0) 2008.04.28
Posted by 원철연(체르니)
,
사용자 삽입 이미지

위와 같은 테이블에서 홍길동이라는 사람의 전체 레코드를 표시해주는 %ROWTYPE 데이터형을 다루어 보자.

사용자 삽입 이미지

위와 같이 %ROWTYPE은 하나의 레코드를 받는 데이터형으로 어찌보면 일차원배열의 한 유형이라고
볼 수도 있을 것 같다.

그러면 실행결과를 보자.
사용자 삽입 이미지

이상으로 오늘의 강좌를 마친다..학원 강사님한테 배운 내용은 거의 없군..
나중에 정리를 할까...아무튼 위에 있는 것들은 다 테스트를 하고 올린 것이니...독자분들이
잘 응용해서 실무에 적용하시길 바랍니다...(MSSQL SP보다 복잡한 것 같군..쩝...)
Posted by 원철연(체르니)
,
사용자 삽입 이미지

위에서 보는 바와같이 EMPNO=7788 의 직원번호, 성명, 부서번호를 출력하는 프로시져를 생성하면
사용자 삽입 이미지

위와 같이 작성할 수 있으며 실행결과는 아래와 같다.
사용자 삽입 이미지

이렇게 글을 올리는 사람도 잘은 모르지만 여러 형태로 작성해보고 실행해보면 실력향샹이 있을 거라고 생각하면서 이번 강좌는 여기까지...

'컴퓨터 관련 무료강좌 > 오라클(ORACLE)' 카테고리의 다른 글

ORACLE-특수문자 출력하기  (0) 2008.04.29
ORACLE-PL/SQL-SP3  (1) 2008.04.28
ORACLE-FUNCTION  (0) 2008.04.28
ORACLE-SP사용하기1  (0) 2008.04.28
ORACLE-SELECT문을 이용한 테이블 생성  (0) 2008.04.25
Posted by 원철연(체르니)
,
사용자 삽입 이미지

위의 EMPNO=7499인 직원의 SAL(월급)이 얼마인지 알아오는 FUNCTION을 만들어보자.
사용자 삽입 이미지

위의 SQL문들은 FUNCTIon을 만들고 실행하고 출력하는 전과정을 나타낸 것으로 이제
SQLPLUS에서 처리한 결과를 보면

사용자 삽입 이미지


이상으로 간략하게 함수에 대해서 알아보았다.

'컴퓨터 관련 무료강좌 > 오라클(ORACLE)' 카테고리의 다른 글

ORACLE-PL/SQL-SP3  (1) 2008.04.28
ORACLE-SP사용하기2  (1) 2008.04.28
ORACLE-SP사용하기1  (0) 2008.04.28
ORACLE-SELECT문을 이용한 테이블 생성  (0) 2008.04.25
ORACLE-서브쿼리사용하기  (0) 2008.04.22
Posted by 원철연(체르니)
,

PL/SQL(Procedure Language/SQL)
PL/SQL은 SQL을 확장한 프로그램 언어이다. 이는 데이터 조작 및 조회문장을 포함한
블록구조를 가지며 절차적인 단위로 시행되어진다.

이론적인 것보다는 실제 예제를 먼저 다루면
EMP테이블의 복사본인 EMP_BACK 테이블로 이해를 해보자.

사용자 삽입 이미지
여기서 특정 EMPNO, 여기서는 EMPNO=7369인 사원의 직업(JOB)을 바꾸는 프로시져를 만들어
보자.

사용자 삽입 이미지

형식
CREATE OR REPLACE PROCEDURE SP명
(입력받는 인자들)
IS
BEGIN
          SQL 문
          ---
END SP명;
/


이렇게 생성한 파일을 SQLPULS 환경에서 처리를 하면 아래와 같다.
사용자 삽입 이미지

위와 같이 EXEC(UTE)문을 이용하여 생성한 SP를 실행하면 위와 같이 EMPNO=7369의 JOB을
CLERK->ENGINEER로 변경된 것을 확인할 수 있다.

'컴퓨터 관련 무료강좌 > 오라클(ORACLE)' 카테고리의 다른 글

ORACLE-SP사용하기2  (1) 2008.04.28
ORACLE-FUNCTION  (0) 2008.04.28
ORACLE-SELECT문을 이용한 테이블 생성  (0) 2008.04.25
ORACLE-서브쿼리사용하기  (0) 2008.04.22
ORACLE-SQLPLUS사용하기2  (0) 2008.04.22
Posted by 원철연(체르니)
,

사원(EMP)테이블과 급여등급(SALGRADE)테이블을 이용하여 아래와 같은 결과를 포함하는

EMP_GRADE 테이블을 생성하시오.

사용자 삽입 이미지
          ....
         14개 행이 선택되었습니다.

위와 같은 결과를 보여주는 EMP_GRADE 테이블을 SELECT문을 이용해서 생성하려면

생성방법
CREATE TABLE EMP_GRADE
AS
SELECT문

사용자 삽입 이미지

위와 같이 EMP테이블과 SALGRADE간의 NONEQUL JOIN을 이용해서 결과값이
나오는지 확인한 후 위의 생성방법의 형식에 따라서 구해주면 된다.

'컴퓨터 관련 무료강좌 > 오라클(ORACLE)' 카테고리의 다른 글

ORACLE-FUNCTION  (0) 2008.04.28
ORACLE-SP사용하기1  (0) 2008.04.28
ORACLE-서브쿼리사용하기  (0) 2008.04.22
ORACLE-SQLPLUS사용하기2  (0) 2008.04.22
ORACLE-SQLPLUS사용하기  (1) 2008.04.19
Posted by 원철연(체르니)
,

GROUP BY HAVING

 

사원 테이블에서 부서별 급여의 합계가 9000을 넘는 경우를 조사할 경우

사용자 삽입 이미지

 

서브쿼리(SUBQUERY)

여러 번의 쿼리문을 수행해서 얻을 수 있는 결과를 하나의 중첩된 쿼리문으로 얻을 수
있도록 한다.
서브쿼리문은 부분 실행이 가능하므로 원하는 값이 나오는지
확인한 후 WHERE절 이하의 표현식 연산자와 비교해보고 검색하는 것이 좋을 것이다.

 

형식

SELECT 선택열들

FROM 테이블

WHERE 표현식 연산자

        (SELECT 선택열 FROM 테이블) ;

 

1) 사원 테이블에서 SCOTT보다 많은 급여를 받는 사원의 이름과 JOB, 급여는?

사용자 삽입 이미지

2) 사원 테이블에서 부서별 최소 급여를 받는 사원의 이름, 급여, 부서번호를 검색?

사용자 삽입 이미지

 
이상으로 간략하게나마 서브쿼리에 대해서 알아보았다.
여러번 해보다 보면 익숙해질 것이고 이를 통해 보다 복잡한 서브쿼리문도 작성할 수
있을 것이라 생각한다.
그럼 즐거운 밤들 되시길...

아참.. 혹시라도 예제에 대해서 궁금하게 생각하는 분들이 있을지 몰라서 그러는데요
오라클에 디폴트로 깔려있는 테이블들을 사용하였음.
SQLPLUS실행하여 SCOTT을 로그인 하여 SQL>SELECT * TAB; 하면
모든 사용가능한 테이블이 나옵니다..^^;;

'컴퓨터 관련 무료강좌 > 오라클(ORACLE)' 카테고리의 다른 글

ORACLE-SP사용하기1  (0) 2008.04.28
ORACLE-SELECT문을 이용한 테이블 생성  (0) 2008.04.25
ORACLE-SQLPLUS사용하기2  (0) 2008.04.22
ORACLE-SQLPLUS사용하기  (1) 2008.04.19
ORACLE-JOIN 알아보기  (4) 2008.04.19
Posted by 원철연(체르니)
,