본문 바로가기

Database/PLSQL

(119)
007 - [Oracle PL/SQL] CASE expression & CASE Statement # 비교값이 1개인 경우 select employee_id,first_name,salary,department_id, case department_id when 90 then salary*1.1 when 60 then salary*1.2 when 100 then salary*1.3 else salary END new_sal from employees; ------------------------------------ # 여러개의 조건을 비교 가능 select employee_id,first_name,salary,department_id, case when department_id=90 then salary*1.1 when department_id=60 then salary*1.2 when departme..
006 - [Oracle PL/SQL] IF Statement # simple if statement with else DECLARE v_no NUMBER := &v; BEGIN IF v_no >=10 THEN dbms_output.put_line('the number you enterd is >=10'); ELSE dbms_output.put_line('number is is less than 10'); END IF; END; # IF ELSIF ELSE DECLARE v_grade NUMBER := &v; BEGIN IF v_grade between 90 and 100 THEN dbms_output.put_line('the grade is A'); ELSIF v_grade between 80 and 89 THEN dbms_output.put_line('the g..
005 - [Oracle PL/SQL] Implicit Cursor(암시적 커서) 커서 속성 설명 SQL%NOTFOUND SQL실행시 Data가 없을 경우 True를 반환 SQL%FOUND SQL 실행 시 Data가 1건 이상 존재할 경우 Truc를 반환 SQL%ROWCOUNT SQL 실행 시 영향받은 Row의 수 SQL%ISOPEN 묵시적 커서 사용 시에는 항상 False를 반환 사용 예시는 insert, update, delete 에서는 얼마나 많은 row 가 영향을 받았는지 알고 싶을때 주로 사용한다.
004 - [Oracle PL/SQL] Variables scope with nested blocks 지역번수는 지역을 넘어간 영역에서 접근하면 오류가 발생한다. declare v_global varchar2(100):='this is a global variable'; begin declare v_local varchar2(100):='this is a local variable'; begin dbms_output.put_line(v_global); dbms_output.put_line(v_local); end; dbms_output.put_line(v_global); -- dbms_output.put_line(v_local); --you can not do this end; ------------------------------------------ this is a global variable th..
003 - [Oracle PL/SQL] Declaring PL/SQL Variables A variable name: Must start with a letter Can include letters or numbers Can include special characters (such as $, _, and # ) Must contain no more than 30 characters - Starting with Oracle Database 12c Release 2 (12.2), the maximum length of identifier names for most types of database objects has been increased to 128 bytes. Must not include reserved words Variables are: Declared and initialize..
002 - [Oracle PL/SQL] Run script 오라클 환경은 19c 입니다. test.sql 파일 내용은 아래와 같습니다. [oracle@test ~]$ pwd /home/oracle [oracle@test ~]$ cat test.sql --write a bolck that outputs 'hello' and save it as test.sql --then run this script again begin dbms_output.put_line('hello'); end; 실행시키는 방법은 아래와 같습니다. SQL> SET SERVEROUTPUT ON SQL> @/home/oracle/test.sql 4 / hello PL/SQL procedure successfully completed. SQL>
001 - [Oracle PL/SQL] Block Types 오라클 환경은 19c 입니다. 타입 블록은 아래처럼 3가지로 나누어지고 크게 2 부분으로 나눈다면 Anonymous 와 Subprograms 으로 나누어 진다. Anonymous 와 Subprograms 차이를 간단히 표현하면 아래와 같다. 간단한 Anonymous 코드는 아래와 같다. # SQL Developer 화면에서 문자 출력이 되지 않으면 아래 명령어를 실행시키면 된다. SET SERVEROUTPUT ON begin dbms_output.put_line('--------------------------------------'); dbms_output.put_line('my first anonyms block'); end; --we will do same Exercise using sql*plus..