database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Columns 25278 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 25278
Function 과 Procedure
작성자
양용성(ysyang)
작성일
2006-03-31 09:42:38
조회수
42,972

처음으로 만들 Helloworld 는 함수였습니다.

함수와 프로시져를 서로 만드는 법이 틀리죠. 하지만 구조가 많이 비슷합니다.

 

Functions

함수는 항상 리턴 값이 존재합니다. 그리고 꼭 하나의 값만 리턴합니다.

MySQL에서 자주 사용하는 CONCAT 라는 함수를 보겠습니다.

 

mysql> select concat(emp_name,' ',dept_id) from emps;

+------------------------------+

| concat(emp_name,' ',dept_id) |

+------------------------------+

| Roger 1 |

| John 2 |

| Alan 1 |

+------------------------------+

3 rows in set (0.00 sec)

 

 

위와 같이 두개의 글자를 합해서 하나의 글자로 리턴하는 CONCAT 함수를 보았습니다.

MySQL에서 제공하는 스트링 함수이지만 이제부터는 개발자가 직접 함수를 만들어 사용할수 있습니다.

 

함수는 꼭 Select 명령을 통해서만 결과를 볼수 있습니다.

 

Procedures

 

 

프로시져는 함수보다 작은 기능을 가지고 있습니다.

함수와 거의 같지만 리턴 값만 없다고 보시면 됩니다.

간단한 함수를 하나 만들어보겠습니다.

 

--------------------------------

 

create procedure helloprocedure()

select 'Hello Procedure' ;

 

---------------------------------

 

위에 Procedure를 실행시킬때는 call 이라는 명령어를 통해 실행시킵니다.

 

mysql> call helloprocedure();

+-----------------+

| Hello Procedure |

+-----------------+

| Hello Procedure |

+-----------------+

1 row in set (0.00 sec)

 

Query OK, 0 rows affected (0.00 sec)

 

이제 기존이 프로시져를 삭제하고 다시 생성해보겠습니다.

아래의 코드는 helloprocedure 라는 프로시져를 만들고

begin .. end 을 통해 작성하였습니다.

-------------------------------------------------

delimiter //

 

drop procedure if exists helloprocedure

//

 

create procedure helloprocedure()

begin

select 'Hello Procedure 2' ;

end

//

-------------------------------------------------

 

mysql> call helloprocedure() //

+-------------------+

| Hello Procedure 2 |

+-------------------+

| Hello Procedure 2 |

+-------------------+

1 row in set (0.00 sec)

 

Query OK, 0 rows affected (0.00 sec)

 

이제 여러분 간단하게 프로시져와 함수를 만들고 실행시키는 법에 대해서

간단하게 이해 하셨을거라 생각합니다.

 

http://mysql.gilfster.com/page.php?parent_id=1.1&page_id=1.1.4

 

SQLGate Development Team

 

http://www.antwiz.com

 

Blog : http://isql.blogspot.com/

[Top]
No.
제목
작성자
작성일
조회
25278Function 과 Procedure
양용성
2006-03-31
42972
25263MySQL Stored Procedure(2)
양용성
2006-03-29
40710
25262MySQL Stored Procedure(1)
양용성
2006-03-29
43624
25234Mysql 4.1이상버전에서 4.0 으로 다운그래이드시 데이터 이동법 [3]
김성준
2006-03-21
38771
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2017 DSN, All rights reserved.
작업시간: 0.071초, 이곳 서비스는
	PostgreSQL v9.6.3으로 자료를 관리합니다