전체 글

논리적 코딩

    [PL/SQL] 임시테이블(GTT)

    [PL/SQL] 임시테이블(GTT)

    임시테이블 (GTT, Global Temporary Table)1. 트랜잭션 GTT트랜잭션이 살아있는 동안에만 데이터가 유지됨123456CREATE GLOBAL TEMPORARY TABLE 테이블명( 컬럼1 데이터타입, ...)[ON COMMIT DELETE ROWS];cs 1234567CREATE GLOBAL TEMPORARY TABLE CH14_TRANC_GTT( IDS NUMBER , NAMES VARCHAR2(50) , BIRTH_DT DATE)ON COMMIT DELETE ROWS;cs 1234567891011121314151617181920212223DECLARE VN_CNT INT := 0; VN_CNT2 INT := 0;BEGIN INSERT INTO CH14_TRANC_GTT SELECT..

    [PL/SQL] DBMS_SQL (3) : 응용활용

    [PL/SQL] DBMS_SQL (3) : 응용활용

    DBMS_SQL (3) : 응용활용 BULK INSERT & UPDATE입력할 값을 일반 변수가 아닌 배열 형태에 변수에 담아 놓고 이 변수를 바인드 변수로 연결한다음 DBMS_SQL 패키지로 INSERT문을 실행하면 여러 개의 로우를 한 번에 INSERT 할 수 있다. 12345678910111213141516171819202122232425262728293031323334353637383940414243TRUNCATE TABLE CH13_PHYSICIST; DECLARE VN_IDS_ARRAY DBMS_SQL.NUMBER_TABLE; VS_NAME_ARRAY DBMS_SQL.VARCHAR2_TABLE; VD_DT_ARRAY DBMS_SQL.DATE_TABLE; VS_SQL VARCHAR2(1000);..

    [PL/SQL] DBMS_SQL (2) : 기본활용

    [PL/SQL] DBMS_SQL (2) : 기본활용

    DBMS_SQL (2)기본 활용1. SELECT12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061DECLARE -- 출력 변수 선언 VN_EMP_ID EMPLOYEES.EMPLOYEE_ID%TYPE; VS_EMP_NAME EMPLOYEES.EMP_NAME%TYPE; VS_JOB_ID EMPLOYEES.JOB_ID%TYPE; VS_SQL VARCHAR2(1000); -- 바인드 변수 선언과 값 설정 VS_JOB EMPLOYEES.JOB_ID%TYPE := 'SA_REP'; VN_SAL EMPLOYEES.SALARY%TYPE := 7000; VN_MANAGE..

    [PL/SQL] DBMS_SQL (1) : 처리순서

    DBMS_SQL (1)동적 SQL을 사용하는 또 다른 방법이다. NDS에 비해 많은 기능을 구현할 수 있지만, 사용법이 좀 복잡하다. 처리 순서DBMS_SQL 패키지는 내부적으로 묵시적 커서를 이용해서 SQL문을 처리하는데, 총 8단계 과정도 커서를 처리하는 작업이라고 보면 된다. 1. 커서 열기 : OPEN_CURSOR1DBMS_SQL.OPEN_CURSOR (security_level IN INTEGER) RETURN INTEGER;cs- security_level : 보안옵션. 생략이 가능하며 0, 1, 2가 올 수 있고 디폴트는 0- 반환값 : 커서 ID값 2. 파싱문자열 형태의 동적 sql문장을 파싱하는 과정.PARSE 프로시저를 호출해 SQL문장을 이전 단계에서 열었던 커서ID 값과 연결하고 구..

    [PL/SQL] 다중 로우를 처리하는 동적 SQL문

    [PL/SQL] 다중 로우를 처리하는 동적 SQL문

    다중 로우를 처리하는 동적 SQL문OPEN FOR 문12OPEN 커서변수 FOR 동적SQL문장USING 바인드변수1, 바인드변수2, ...;cs 예제CH13_PHYSICIST 테이블을 비우고 다시 값을 넣자123456TRUNCATE TABLE CH13_PHYSICIST; INSERT INTO CH13_PHYSICIST VALUES (1, 'Galileo Galilei', TO_DATE('1564-02-15', 'YYYY-MM-DD'));INSERT INTO CH13_PHYSICIST VALUES (2, 'Isaac Newton', TO_DATE('1643-01-04', 'YYYY-MM-DD'));INSERT INTO CH13_PHYSICIST VALUES (3, 'Max Plank', TO_DATE('1..

    [PL/SQL] 동적 SQL

    [PL/SQL] 동적 SQL

    동적 SQL이 필요한 경우1. 컴파일 시에 SQL 문장이 확정되지 않은 경우2. PL/SQL 블록 상에서 DDL문을 실행해야 할 경우3. PL/SQL 블록 상에서 ALTER SYSTEM/SESSION 명령어를 실행해야 할 경우 동적 SQL을 사용하는 방법1. NDS(원시 동적 SQL, NATIVE DYNAMIC SQL)2. DBMS_SQL 시스템 패키지 EXECUTE IMMEDIATE문1234EXECUTE IMMEDIATE SQL문_문자열[ INTO OUT변수1, OUT변수2, ... ][ USING [ IN / OUT / INOUT ] 매개변수1, ... ]...;Colored by Color Scriptercs- INTO : SELECT INTO 문에서 INTO 역할- USING : 바인드 변수. 디..

반응형