-
[DBMS] 스토어드 프로시저 ( stored Procedure )기초/DBMS 2017. 7. 27. 09:49
>> 혼자서 실행하는 SQL문은 [ 파일 ]로 저장해도 상관이 없지만, 여러 사용자가 사용하는 SQL묶음이라면 스토어드 프로시저를 사용한다.
여러 수백 수천개의 SQL들을 한대 묶음화 하는 기능.
그 묶은 SQL은 서버데이터베이스에 저장되어 여러사용자들이 사용할 수 있다.
use [ databases ] #꼭 use SQL문을 통해 데이터 베이스를 선택한 후 진행한다.
>> use를 하지 않으려면 sql문에 절대경로로 모든 테이블이 표시되어있어야 하며
>> call [database].[procedure](); 로 호출가능하다
delimiter //
create procedure myProc()
begin
select * from memberTBL where memberName = '테스트';
select * from memberTBL where memberName = 'TEST';
end //
delimiter;
# delimiter (구분자)
ex) delimiter // << 이 줄부터 작성되는 SQL은 구분자를 //로 사용하겠다는 의미이다.
>> 사용목적 : 원래 mySQL의 구분자는 ;이기에 프로시져를 시작과 동시에 한줄이 끝나면 끝나버린다.
# CREATE Procedure [ 프로시저 이름 ]
ex ) create procedure myProc() : 프로시저 이름이다.
begin
~~~
end //
begin ~ end 사이에 SQL문을 프로시저의 호출로 한번에 실행한다.
[데이터베이스를 use하지 않았을 경우]
delimiter //
create procedure myProc()
begin
select * from [database].[테이블 명] where memberName = '테스트';
select * from [database].[테이블 명] where memberName = 'TEST';
end //
delimiter;
함수 호출
call myProc();
call shopDB.myProc();
함수 제거
Drop procedure myProc();
워크밴츠
'기초 > DBMS' 카테고리의 다른 글
[DBMS] 간단한 데이터베이스 모델링 (0) 2017.07.31 [DBMS] workbench safe mode (0) 2017.07.27 [DBMS]Mysql import (0) 2017.07.26 [DBMS] Mysql 데이터에 한글 넣기 (0) 2017.07.24 [DBMS] MySQL Workbench 폰트 및 단축키 (0) 2017.07.24