📃 DATABASE

    [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 : 바인드 변수. 디..

    [PL/SQL] 기타 패키지 특징

    [PL/SQL] 기타 패키지 특징

    기타 패키지 특징PRAGMA SERIALLY_REUSABLE 옵션세션이 유지되고있는 동안 패키지 데이터가 저장되있는 공간을 UGA(USER GLOBAL AREA)라고 하는데, 세션이 생길 때마다 하나씩 생성된다.그런데 사용자가 많아지면 많은 UGA가 생길것이고, 페키지 데이터를 많이 사용하면 메모리 낭비를 초래할 수 있다.세션이 아닌 호출 단위별로 패키지 데이터를 사용할 수 있는 방법이 있는데 PRAGMA SERIALLY_REUSABLE이 그것이다.PRAGMA SERIALLY_REUSABLE를 패키지 선언부와 본문에 명시하면 해당 패키지 데이터는 호출이 끝나면 다시 초기화되어 같은 세션에 있더라도 값을 공유하지 않는다. 1234567CREATE OR REPLACE PACKAGE CH12_COL_PKG I..

반응형