스토리지

[07.13] SQL - Procedure 본문

Node.js

[07.13] SQL - Procedure

ljw4104 2021. 7. 13. 16:05

저장 프로시저

  • 여러 SQL문을 하나의 SQL문처럼 정리 하여 CALL명령어로 실행 가능하게 만들어 준다.

 

구분자 변경 (Delimiter)

  • 명령문이 완성되지 않은 채 실행되면 안되기 때문에 구분자를 // 로 변경 하는것이다.
  • 프로시저 작성을 모두 마쳤으면 구분자를 다시 ;(세미콜론)으로 되돌려 놓는다.

프로시저 기본 구문

 

EX) UUID를 만드는 Procedure

delimiter //
create procedure test()
	begin
		select uuid();
    end//
delimiter ;

call test();

create procedure test() 에서 실행 해준뒤에 call test()를 호출해야 된다.

아니면 test 프로시저를 찾을 수 없음.

UUID를 만들어서 삽입

delimiter //
create procedure insert_product(category INT, name varchar(45), price INT, amount INT)
	begin
		declare uuid varchar(255);
		set uuid = uuid();
        insert into products values(uuid, category, name, price, amount);
    end//
delimiter ;

call insert_product(100, '게토레이', 1500, 5);
select * from products;

insert into products values(uuid(), 100, '펩시', 1500, 5);
select * from products;

같은 줄에 주석달면 함수 인식 자체가 안된다 !

 

 

Comments