본문 바로가기

분류 전체보기

(145)
[ ORACLE ] PROCEDURE 내에서 예외처리 SELECT * FROM TBL_IDPW; /* ID PW superman java006$ happydayjava006$ */ SELECT * FROM TBL_STUDENTS; /* ID NAMETELADDR superman 박정준010-9999-8888경기 김포 happyday김서현010-2222-2222서울 마포구 */ SELECT I.ID, I.PW, S.TEL, S.ADDR FROM TBL_IDPW I JOIN TBL_STUDENTS S ON I.ID = S.ID; /* superman java006$010-9999-9999경기 일산 happydayjava006$010-2222-2222서울 마포구 */ UPDATE(SELECT I.ID, I.PW, S.TEL, S.ADDR FROM TBL_IDPW..
[ ORACLE ] DML │ DDL │ DCL │ TCL │ 정적/동적PLSQL -- ※참고 1. INSERT, UPDATE, DELETE, (MERGE) --==>> DML 구문이다. (DATA MANIPULATION LANGUAGE) --COMMIT / ROLLBACK 이 필요하다 2. CREATE, DROP, ALTER, (TRUNCATE) --===>> DDL(DATA DEFINITION LANGUAGE) -- 실행하면 자동으로 COMMIT 된다. 3. GRANT , REVOKE --==>> DCL (DATA CONTROL LANGUGAE) -- 실행하면 자동으로 COMMIT 된다. 4. COMMT, ROLLBACK --===>> TCL(TRANSACTION CONTROL LANGUAGE) -- 정적인 PL/SQL 문 → DML문, TCL 문만 사용 가능하다. -- 동적인 P..
[ ORACLE ] CREATE OR REPLACE PROCEDURE 프로시저명 -- ■■■■ PROCEDURE(프로시저) ■■■■ -- 1. PL/SQL 에서 가장 대표적인 구조인 스토어드 프로시저는 -- 개발자가 자주 작성해야 하는 업무의 흐름을 -- 미리 작성하여 데이터베이스 내에 저장해 두었다가 -- 필요할 때 마다 호출하여 실행할 수 있도록 처리해주는 구문이다. 2. 형식 및 구조 CREATE [OR REPLACE] PROCEDURE 프로시저명 [(매개변수 IN 데이터타입 , 매개변수 OUT 데이터타입 , 매개변수 INOUT 데이터타입 )] IS [주요 변수 선언;] BEGIN -- 실행구문; ... [EXCEPTION -- 예외 처리 구문;] END; */ -- ※ FUNCTION 과 비교했을 때, -- 『RETURN』 반환자료형 부분이 존재하지 않으며, -- 『RETUR..
[ ORACLE ] CREATE OR REPLACE FUNCTION 함수명() -- ■■■■ FUNCTION(함수) ■■■■■ -- 1. 함수란 하나 이상의 PL/SQL 문으로 구성된 서브루틴으로 -- 코드를 다시 사용할 수 있도록 캡슐화 하는데 사용된다. -- 오라클에서는 오라클에 정의된 기본 제공 함수를 사용하거나 -- 직접 스토어드 함수를 만들 수 있다.(→ 사용자 정의 함수) -- 이 사용자 정의 함수는 시스템 함수처럼 쿼리에서 호출하거나 -- 저장 프로시저처럼 EXECUTE 문을 통해 실행할 수 있다, --2. 형식 및 구조 /* CREATE [OR REPLACE] FUNCTION 함수명 [( 매개변수1 자료형 , 매개변수2 자료형 )] RETURN 데이터타입 IS -- 주요 변수 선언(지역 번수) BEGIN --실행문; ... RETURN 값; [EXCEPTION] --..
[ ORACLE ] 자료형 참조하는 %TYPE 퍼센트타입 │ %ROWTYPE 로우퍼센트타입 -- ● %TYPE 퍼센트타입 -- 1. 특정 테이블에 포함되어 있는 컬럼의 자료형을 참조하는 데이터타입 -- 2. 형식 및 구조 -- 변수명 데이터타입 원래는 이렇게 하지만 -- 변수명 테이블.컬럼명%TYPE [:=초기값]; -- 예를 들어 NAME EMPLOYEES.ENAME%TYPE(NAME 이라는 변수명의 타입을 EMPLOYEES --테이블의 ENAME컬럼의 타입을 가져와서 쓰겠다는 의미) SET SERVEROUTPUT ON; SELECT FIRST_NAME FROM EMPLOYEES; -- ● HR.EMPLOYEES 테이블의 특정 데이터를 변수에 저장 DECLARE --VNAME VARCHAR2(20) VNAME EMPLOYEES.FIRST_NAME%TYPE; BEGIN SELECT FIRST_..
[ ORACLE ] 반복문 3가지 │ LOOP │ WHILE LOOP │ FOR LOOP -- ● 기본 반복문 -- -- LOOP ~ END LOOP; (루프 시작했다 루프 끝났다) -- 1. 조건과 상관없이 무조건 반복하는 구문. -- 2. 형식 및 구조 LOOP -- 실행문; 사이에 실행문 오게 된다. 반복을 해야되는 구문이다. -- EXIT WHEN 조건; 조건이 참인 경우 반복문을 빠져나간다. END LOOP; -- ● 1 부터 100 까지의 수 출력(LOOP 문 활용) DECLARE N NUMBER; BEGIN N := 1; LOOP DBMS_OUTPUT.PUT_LINE(N); EXIT WHEN N>=10; N := N+1; -- N++; N+=1; 자바의 이것들과 같다 END LOOP; END; /* 1 2 3 4 5 6 7 8 9 10 PL/SQL 프로시저가 성공적으로 완료되었습..
[ ORACLE ] PL / SQL -- 1. PL/SQL (Procedual Language extension to SQL) 은 -- 프로그래밍 언어의 특성을 가지는 sql 의 확장이며, -- 데이터 조작과 질의 문장은 pl/sql 의 절차적 코드 안에 포함된다, -- 또한 pl/sql 을 사용하려면 sql로 할 수 없는 절차적 작업이 가능하다. -- 여기에서 절차적 이라는 단어가 가지는 의미는 어떤 것이 어떤 과정을 -- 거쳐 어떻게 완료되는지 그 방법을 정확하게 코드에 기술한다는 것을 의미한다 --2. pl/sql 은 절차적으로 표현하기 위해 변수를 선언할 수 있는 기능, -- 참과 거짓을 구별할 수 있는 기능, -- 실행 흐름을 컨트롤 할 수 있는 기능들을 제공한다, --3. PL/SQL 은 블럭 구조로 되어있으며 -- 블럭은 선언..
[ ORACLE ] DELETE │ VIEW ■DELETE■ 1. 테이블에서 지정된 행(레코드)을 삭제하는 데 사용하는 구문 2. 형식 및 구조 제약조건 때문에 제대로 제거가 안될 수 있다는 것만 염두에 두고 넘어가자 --● EMPLOYEES 테이블에서 직원들의 정보를 삭제한다. -- 단, 부서명이 'IT'인 경우로 한정한다 -- ※ 실제로는 EMPLOYEES 테이블의 데이터가(삭제하고자 하는 대상) -- 다른 테이블(혹은 자기 자신 테이블)에 의해 참조당하고 있는 경우 -- 삭제되지 않을 수 있다는 사실을 염두해야 하며,,, -- 그에 대한 이유도 알아야 한다. -- IT 부서의 부서아이디 구하기 SELECT DEPARTMENT_ID FROM DEPARTMENTS WHERE DEPARTMENT_NAME='IT'; --==>>60 SELECT FI..