SNOWFLAKES DRAWING PAPER
[SQL] MySQL 저장 프로시져, 저장 함수, 트리거 예제 모음 1 본문
저장 프로시져, 저장 함수, 트리거 예제 모음 1
[저장된 프로그램에 인베디드된 쿼리문]
create procedure example1()
select count(*) into l_book_count from books where author like '%HARRISON,GUY%'; select concat('Guy has wriitten (or co-written) ', l_book_count , ' books.'); update books set author = replace(author, 'GUY', 'GUILLERMO') where author like '%HARRISON,GUY%'; end
|
[제어와 조건 로직을 가진 저장 프로시져]
create procedure pay_out_balance(account_id_in int) begin payout_loop:loop
if l_balance_remaining < 1000 then
else
end loop; end
|
[생년월일로 나이를 계산하는 저장 함수]
create function f_age(in_dob datetime) returns int no SQL begin declare l_age int; set l_age=date_format(now(),'%Y')-date_format(in_dob,'%Y'); return(l_age);
활용의 예 mysql> select firstname, surname, date_of_birth, f_age(date_of_virth) as age
|
[저장 프로그램에서 에러 처리]
create procedure sp_product_code(in_product_code varchar(2), in_product_name varchar(30)) begin
insert into product_codes(product_code, product_name) values(in_product_code, in_product_name);
if l dupkey_indicator then update product_codes set product_name=in_product_name where product_code=in_product_code; end if;
end
|
[얻은 컬럼 값을 유지하기 위한 트리거]
create trigger employees_trg_bu begin else
|
운영자 : 김두형(www.sunmysql.co.kr)
email : beansoft@nate.com
업데이트 : 20080814
'개발 > Oracle/SQL/ERD' 카테고리의 다른 글
[Oracle] 오라클 dump export (0) | 2011.10.05 |
---|---|
[SQL] MySQL case when (0) | 2009.04.19 |
[SQL] MySQL 저장 프로시져, 저장 함수, 트리거 예제 모음 2 (0) | 2009.04.19 |
[SQL] MySQL 자체 메뉴얼 활용하기 (0) | 2009.04.19 |
[SQL] MySQL Tip (0) | 2009.04.19 |