본문 바로가기

전체 글

(661)
052 - [Oracle PL/SQL] Package - Overloading (standard package) 기본 패키지도 overloading 가능합니다. to_char 내부함수를 overloading 하는 샘플 create or replace package override is /* we defined to_char function and this function already exist as oracle bulit-in function */ function to_char( p1 number, p2 date ) return varchar2; procedure print; end; / create or replace package body override is function to_char( p1 number, p2 date ) return varchar2 is begin return p1||','||p2; ..
051 - [Oracle PL/SQL] Package - Overloading (functions) 함수에서도 overloading 이 가능합니다. 파라미터의 타입이 다른 샘플입니다. create or replace package overload_funcion is function f1 (p1 number) return number; function f1 (p1 varchar2) return varchar2; end; / create or replace package body overload_funcion is function f1 (p1 number) return number is begin return p1; end; function f1 (p1 varchar2) return varchar2 is begin return 'hi~ '||p1; end; end; select overload_funcio..
050 - [Oracle PL/SQL] Package - Overloading (procedures) 헤더와 바디 부분 샘플 테스트용 테이블을 하나 생성합니다 drop table customer; create table customer (cust_id number, name varchar2(100), birthday date ); 이름이 같은 프로시져를 생성합니다. 다만, 파라미터의 개수가 다릅니다. # case 1 ( 2 procedure differ in number of parameters) create or replace package overload_proc is procedure add_cust(p_id number,p_name varchar2,p_bd date); procedure add_cust(p_id number,p_name varchar2); end; / create or replac..
049 - [Oracle PL/SQL] Package - recompile the package When & Why to recompile the package? # 최초 패키지 create or replace package p_test is c_var1 constant number:=10; c_var2 varchar2(100):='welcome'; procedure print; end; / create or replace package body p_test is c_var3 varchar2(100):='hi there'; procedure print is c_var4 varchar2(100):='hi'; begin dbms_output.put_line('this variable came from package spec. '||c_var1); dbms_output.put_line('this vari..
048 - [Oracle PL/SQL] Package - visibility of components # c_var1/c_var2 can be referenced any place in package body # c_var3 can be referenced any place in package body # c_var4 can be referenced only in print procedure create or replace package p_test is c_var1 constant number:=10; c_var2 varchar2(100):='welcome'; procedure print; end; / create or replace package body p_test is c_var3 varchar2(100):='hi there'; procedure print is c_var4 varchar2(100..
047 - [Oracle PL/SQL] Package - guidelines for packages 패키지를 만들때 알아야하는 기본 사항들은 아래와 같습니다.
046 - [Oracle PL/SQL] Package - without body 경우에 따라서 바디가 없는 패키지를 만들때가 있다. 아래와 같은 경우가 그러하다 # we can create package specification without body # this used when we want to define global variable create or replace package global_Measurement is c_mile_to_km constant number:=1.6093; c_kilo_to_mile constant number:=0.6214; end; execute dbms_output.put_line('60 mile:='||60* global_Measurement.c_mile_to_km||' KM' ); --------------------------------..
045 - [Oracle PL/SQL] Package - Sample create table student ( student_id number, first_name varchar2(100), birthday date, constraint student_pk primary key (student_id) ); create sequence student_seq; --we need to create a package for insert, delete, query a student --1 we create the package spec. create or replace package General_student is procedure insert_student (p_first_name varchar2, p_birthday date); procedure delete_student (..