[oracle] 오라클 PL/SQL - 오라클 데이터베이스 서버와 상호 작용


오라클 PL/SQL - 오라클 데이터베이스 서버와 상호 작용

4장. 오라클 데이터베이스 서버와 상호 작용

SQL Statement in Blocks

4-4.

      BEGIN
        - DDL : CREATE, ALTER, DROP, RENAME, TRUNCATE, COMMENT   : 사용 불가
        - DML : INSERT, UPDATE, DELETE, MERGE, SELECT            : 사용 가능
        - TCL : COMMIT, ROLLBACK, SAVEPOINT                      : 사용 가능
        - DCL : GRANT, REVOKE                                    : 사용 불가
      END;

      => 이유 : https://docs.oracle.com/cd/A57673_01/DOC/server/doc/PLS23/ch5.htm#toc043

begin end 안에 데이터가 한개도 없거나 여러개면 select문은 에러 발생
그러나 update, insert의 경우는 에러가 아니다.
다만 select문에 bulkup 또는 명시적 커서를 사용하면 괜찮다.

4-16.

    drop table t1 purge;
    
    create table t1 as select * from emp;
    
    begin
        update t1
        set sal = sal*1.1
        where deptno = 10;
        
        p.p('수정된 행은 '||sql%rowcount||'건 입니다.');
        
        delete from t1
        where deptno = 20;
        
        p.p('삭제된 행은 '||sql%rowcount||'건 입니다.');

    end;
    /

References

개발자님들 덕분에 많이 배울 수 있었습니다. 감사의 말씀 드립니다.





© 2020. GANGPRO. All rights reserved.