레이블이 DECLARE인 게시물을 표시합니다. 모든 게시물 표시
레이블이 DECLARE인 게시물을 표시합니다. 모든 게시물 표시

2021년 12월 24일 금요일

PL/SQL %TYPE, %ROWTYPE, 동적타입, DECLARE, CREATE로 프로시저 만들기, 자바학원, 오라클학원, 자바교육, 오라클교육, 오라클동영상, JAVA동영상

 










PL/SQL %TYPE, %ROWTYPE, 동적타입, DECLARE, CREATE로 프로시저 만들기




오라클 PL/SQL



%TYPE

%ROWTYPE


강의 : 이종철



%TYPE 속성


  • 실무에서 테이블의 모든 컬럼에 대해 데이터 타입 및 길이를 정확히 알고 있을 수는 없고, 가끔 칼럼 사이즈는 변하기도 한다. 이 경우 %TYPE 속성을 사용한다면 동적으로 대처할 수 있다. 
  • 변수의 데이터 타입을 어떤 테이블의 어떤 칼럼과 같이 하라는 의미 또는 이전에 정의한 다른 변수와 타입을 같이하라는 의미를 지닌다.


DECLARE

v_ename    emp.ename%TYPE;

v_sal        emp.sal%TYPE;

tot_sal       v_sal%TYPE;

 



SET SERVEROUTPUT ON;

DECLARE
  NAME  EMP.ENAME%TYPE;
BEGIN
  SELECT ENAME INTO NAME
  FROM   EMP
  WHERE  EMPNO = 7499;
  
  DBMS_OUTPUT.PUT_LINE('7369 ename : ' || NAME);  
END;
/




%ROWTYPE 속성


  • SELECT LIST에서 전체 컬럼을 선택해서 변수에서 받을 때(SELECT * ) 유용하게 이용된다.
  • 어떤 테이블의 ROW(로우, 행, 레코드)와 타입을 같이 하라는 속성이다.
  • 테이블의 칼럼에 대해 잘 모르는 경우,  칼럼의 속성들이 자주 변하는 경우에 유용하다.



SQL> edit ojc10


SET SERVEROUTPUT ON

CREATE OR REPLACE PROCEDURE ojc10(p_empno IN NUMBER) 

IS

          emp_record   emp%ROWTYPE

BEGIN

          SELECT *

          INTO emp_record

          FROM emp

          WHERE empno = p_empno ;

         

        DBMS_OUTPUT.PUT_LINE(emp_record.empno || ',' || emp_record.ename || ',' || emp_record.sal || ',' || emp_record.deptno);

END;

/


SQL> @ojc10

프로시저가 생성되었습니다.


SQL> exec ojc10(7369)

7369,SMITH,4500,20





SELECT문의 사용


  • SELECT문의 종료는 세미콜론(;)으로 표시한다.
  • SELECT절의 칼럼목록과 INTO절의 칼럼목록은 개수 및 데이터 타입이 동일해야 한다.
  • SELECT * 인 경우 %ROWTYPE을 사용하면 좀 더 효율적이다.
  • INTO절은 필수이며 BEGIN~END 사이에서 사용되는 SELECT는 반드시 한 건만 SELECT 되어야 한다. 한 건도 SELECT 되지 않는다면 ORA-01403(NO_DATA_FOUND) 오류가 발생하고 여러 건 SELECT 된다면 ORA-01422(TOO_MANY_ROWS) 오류가 발생한다.



#PL/SQL, #%TYPE, #%ROWTYPE, #동적타입, #DECLARE, #CREATE, #프로시저, #오라클교육, #자바교육, #오라클학원, #자바학원, #ORACLE교육, #ORACLE동영상, PL/SQL, %TYPE, %ROWTYPE, 동적타입, DECLARE, CREATE, 프로시저, 오라클교육, 자바교육, 오라클학원, 자바학원, ORACLE교육, ORACLE동영상, 
 


(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...