CREATE TABLE pl_emp3
as
SELECT empno, ename, sal
FROM emp;
먼저 연습을 위해 다른테이블을 복사한다
SET serveroutput ON;
출력을 위해 위 코드를 실행
DECLARE
vno pl_emp3.empno%TYPE;
vname pl_emp3.ename%TYPE;
vsal pl_emp3.sal%TYPE;
BEGIN
SELECT empno, ename, sal INTO vno, vname, vsal
FROM pl_emp3
WHERE empno = 7369;
DBMS_OUTPUT.PUT_LINE(vno||'---'||vname||'---'||vsal);
END;
/
변수를 선언하고 나온 값들을 변수에 넣고 출력한다.
위의 코드를 ROWTYPE방식으로 만들어본다
SET serveroutput ON
DECLARE
vrow pl_emp3%ROWTYPE;
BEGIN
SELECT * INTO vrow
FROM pl_emp3
WHERE empno = 7369;
DBMS_OUTPUT.PUT_LINE(vrow.empno);
END;
/EMP
SET SERVEROUTPUT ON;
DECLARE
V_EMPID EMP.EMPNO%TYPE;
V_SALARY EMP.SAL%TYPE;
BEGIN
SELECT EMPNO, SAL INTO V_EMPID, V_SALARY
FROM EMP
WHERE EMPNO = 7369;
DBMS_OUTPUT.PUT_LINE(V_EMPID|| ' == ' ||V_SALARY);
END;
/
DECLARE
V_EMPID EMP.EMPNO%TYPE;
V_SALARY EMP.SAL%TYPE;
BEGIN
SELECT EMPNO, SAL INTO V_EMPID, V_SALARY
FROM EMP
WHERE EMPNO = &EMPNO;
DBMS_OUTPUT.PUT_LINE(V_EMPID|| ' == ' ||V_SALARY);
END;
/
CREATE TABLE PL_TEST2
(NO NUMBER,
NAME VARCHAR2(10),
ADDR VARCHAR2(10));
SET VERIFY OFF -- 유효성체크 출력여부
DECLARE
V_NO NUMBER := '&NO';
V_NAME VARCHAR2(10) := '&NAME';
V_ADDR VARCHAR2(10) := '&ADDR';
BEGIN
INSERT INTO PL_TEST2
VALUES(V_NO, V_NAME, V_ADDR);
END;
/