📃 DATABASE

    [MS-SQL] 프로시저에서 여러 행 데이터를 반환시킬 수 있을까?

    MSSQL을 사용하는 프로젝트에서 프로시저의 OUTPUT 매개변수로 여러 데이터, 여러 Row를 반환시킬 수 있는지 확인해야하는 일이 생겨 포스팅한다. 내가 알기로는 프로시저의 OUTPUT 매개변수로 테이블이나 커서를 반환시킬 수 있었는데, JDBC를 통해서 DAO와 Service단으로 값이 전달이 되는지가 중요했다. 우선 CURSOR를 OUTPUT 매개변수로 뱉어내는 프로시저를 작성해보았다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 CREATE PROCEDURE SP_RETURN_CURSOR_TEST ( @IN_VALUE NVARCHAR, @OUT_CURSOR CURSOR VARYING OUTPUT ) AS BEGIN SET @OUT_CURSOR = CURSOR FORWAR..

    [MS-SQL] 테이블, 함수, 프로시저 정보 조회하기

    진행하고 있는 프로젝트에서 DB 서버를 변경하게 되어, 기존 DB를 신규 DB로 복사한 뒤 모든 오브젝트가 정상적으로 복사되었는지 확인해야해서 찾아보게 되었다. 테이블 데이터베이스의 테이블 목록을 조회하는 쿼리 1 2 3 SELECT TABLE_NAME -- 테이블명 , TABLE_TYPE -- 테이블 유형(VIEW / BASE TABLE) FROM INFORMATION_SCHEMA.TABLES; cs 테이블별 ROW 수를 조회하는 쿼리 1 2 3 4 5 6 7 8 SELECT T.NAME -- 테이블명 , I.ROWS -- ROW FROM SYSINDEXES I INNER JOIN SYSOBJECT T ON I.ID = T.ID WHERE I.INDID 적용 대상: SQL Server Azure SQL..

    [PL/SQL] DBMS_JOB

    [PL/SQL] DBMS_JOB

    DBMS_JOB잡을 등록하고 관리하는 데 사용되는 시스템 패키지이다. 우선 예제용 테이블을 하나 만든다.12345CREATE TABLE CH15_JOB_TEST( SEQ NUMBER, INSERT_DATE DATE);cs 그리고 이 테이블에 데이터를 INSERT 하는 프로시저를 만든다.1234567891011121314151617CREATE OR REPLACE PROCEDURE CH15_JOB_TEST_PROCIS VN_NEXT_SEQ NUMBER;BEGIN SELECT NVL(MAX(SEQ), 0) + 1 INTO VN_NEXT_SEQ FROM CH15_JOB_TEST; INSERT INTO CH15_JOB_TEST VALUES (VN_NEXT_SEQ, SYSDATE); COMMIT; EXCEPTION..

    [PL/SQL] 파이프라인 테이블함수

    [PL/SQL] 파이프라인 테이블함수

    파이프라인 테이블함수(PIPELINED TABLE FUNCTION) 12345678910111213CREATE OR REPLACE FUNCTION 함수명 (매개변수) RETURN 컬렉션타입 PIPELINEDIS ...BEGIN ... LOOP PIPE ROW(반환데이터); END LOOP; RETURN;END;Colored by Color Scriptercs 예제123456789101112131415CREATE OR REPLACE FUNCTION FN_CH14_PIPE_TABLE (P_N NUMBER) RETURN CH14_NUM_AT PIPELINEDIS VNT_RETURN CH14_NUM_AT := CH14_NUM_AT();BEGIN FOR IDX IN 1..P_N LOOP VNT_RETURN.EXT..

    [PL/SQL] 테이블 함수

    [PL/SQL] 테이블 함수

    테이블 함수여러 로우를 가진 컬렉션을 반환하는 함수.컬렉션 타입을 반환하는데, 연관 배열은 반환하지 못하고, 중첩 테이블이나 VARRAY만 반환가능하다. 사용자정의 테이블 함수일반 사용자정의 함수와 다를 것 없으나, 그 대상이 되는 컬렉션 타입이 먼저 만들어져 있어야한다. 아래는 NUMBER만 이용한 간단한 예시이다. 1CREATE OR REPLACE TYPE CH14_NUM_AT IS TABLE OF NUMBER;cs 1234567891011121314CREATE OR REPLACE FUNCTION FN_CH14_TABLE1 (P_N NUMBER) RETURN CH14_NUM_ATIS -- 컬렉션 변수 선언 VNT_RETURN CH14_NUM_AT := CH14_NUM_AT();BEGIN FOR IDX..

    [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..

반응형