본문 바로가기

Database/PLSQL

(119)
112 - [Oracle PL/SQL] Dependencies - Impact on the Procedure 테스트 준비 - 프로시져 생성 및 상태 확인create or replace procedure p1isbeginfor i in (select cust_id from customer) loop dbms_output.put_line(i.cust_id); end loop;end;/create or replace procedure p2isbeginfor i in (select * from customer) loop dbms_output.put_line(i.cust_id); end loop;end;-- 새로 생성한 프로시져 2개의 상태는 정상select object_name, object_type, created, statusfrom user_objectswhere lower(object_name) in..
111 - [Oracle PL/SQL] Dependencies - Impact on the Function 테스트 준비--impact on the function when adding/altering orginal tablecreate or replace function get_cust_name ( p_cust_id number) return varchar2is v_name customer.name%type;begin select name into v_name from customer where cust_id=p_cust_id; exception when others then return null;end;-- 현재 모든 객체는 정상select object_name, object_type, created, statusfrom user_objectswhere lowe..
110 - [Oracle PL/SQL] Dependencies - Impact on the View Impact of Adding/ Altering column for the Referenced Table   원본 테이블의 변화가 view 에 주는 영향-- 테스트 준비DROP TABLE customer/create table customer( cust_id number, name varchar2(100), tel varchar2(10));create or replace view v_customerasselect cust_id,namefrom customer;/create or replace view v2_customerasselect *from customer;   -- 객체들의 상태는 모두 정상select object_name, object_type, created, statusfrom user_..
109 - [Oracle PL/SQL] Dependencies - 객체의 4가지 상태 원본 테이블에 대한 변경 및 영향-- 테스트 준비drop table students;drop view v1_students;drop view v2_students;drop procedure print_all_students;drop procedure print_all_students_from_v1;create table students(student_id number, student_name varchar2(30), dob date );/insert into students(student_id,student_name,dob) values (1,'aya ahmed','1-jan-1980');insert into students(student_id,student_name,dob) values (2,'sar..
108 - [Oracle PL/SQL] Dependencies - Direct/Indirect Direct 의존관계의 객체들   inDirect 의존관계의 객체들      코드를 통해서 Direct/Indirect 개념을 확인해보자-- 데이터 준비drop table students/create table students(student_id number, student_name varchar2(20), dob date )/ insert into students(student_id,student_name,dob) values (1,'aya ahmed','1-jan-1980');insert into students(student_id,student_name,dob) values (2,'sara mahmoud','1-jan-1980');insert into students(student_id,studen..
107 - [Oracle PL/SQL] Dependencies - Introduction 프로시져를 만들때 위 그림처럼 참고하는 관계의 프로시져를 만든다고 생각해봅시다.view와 table 의 관계는 아래처럼, 뷰는 dependent 객체이고, 테이블은 referenced 객체입니다.    현재 뷰의 상태는 정상입니다.   여기서 emp_copy 테이블을 드롭(drop)하면 어떻게 될까요?의존 관계에 있기때문에 view의 상태는 비정상이 됩니다.     오라클 객체별 Dependencies 정보는 아래와 같습니다.    테이블(referenced 객체)의 변경이 항상 영향을 미치는것은 아니고 뷰(dependent 객체)와 직접적인 관련이 있는 영향을 미치고, 아니면 상관없습니다. 아래의 그림을 참고하세요. 뷰와 관련없는 컬럼이 추가되면 영향이 없습니다만, 뷰에서 보여주는 컬럼을 삭제한다면 당..
106 - [Oracle PL/SQL] Managing Code - Wrapper Utility 아래 스크립트를 서버에 저장한다 - test.sqlcreate table table_1( id number, name varchar2(100));insert into table_1 values (1,'nader ali');insert into table_1 values (2,'khaled rami');insert into table_1 values (3,'naser hassan');insert into table_1 values (4,'ameen hadi');create or replace procedure insert_table_1(p_id number, p_name varchar2)isbegininsert into table_1 values (p_id,p_name);commit;end;   유틸리티..
105 - [Oracle PL/SQL] Managing Code - dbms_ddl 일반적인 컴파일 방법create or replace function get_sum_sal_dept( dept_id number ) return numberis v_sal number;begin select sum(salary) into v_sal from employees where department_id =dept_id; return v_sal; exception when others then return null;end;   함수 테스트 및 소스 보기select get_sum_sal_dept(90) from dual;/*GET_SUM_SAL_DEPT(90)-------------------- 58160*/--..