数据库Function&Procedure&Package
Posted yuelien
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库Function&Procedure&Package相关的知识,希望对你有一定的参考价值。
Function/Procedure都是可独立编译并存储在数据库中的,区别是Function有返回值。
Package则是数据和过程、函数的集合体。
CREATE PROCEDURE dorepeat(p1 INT) BEGIN SET @x = 0; REPEAT SET @x = @x + 1; UNTIL @x > p1 END REPEAT; END;
mysql> delimiter // mysql> CREATE PROCEDURE dorepeat(p1 INT) -> BEGIN -> SET @x = 0; -> REPEAT SET @x = @x + 1; UNTIL @x > p1 END REPEAT; -> END -> // Query OK, 0 rows affected (0.00 sec) mysql> delimiter ; mysql> CALL dorepeat(1000); Query OK, 0 rows affected (0.00 sec) mysql> SELECT @x; +------+ | @x | +------+ | 1001 | +------+ 1 row in set (0.00 sec)
mysql> CREATE FUNCTION hello (s CHAR(20)) mysql> RETURNS CHAR(50) DETERMINISTIC -> RETURN CONCAT(‘Hello, ‘,s,‘!‘); Query OK, 0 rows affected (0.00 sec) mysql> SELECT hello(‘world‘); +----------------+ | hello(‘world‘) | +----------------+ | Hello, world! | +----------------+ 1 row in set (0.00 sec)
以上是关于数据库Function&Procedure&Package的主要内容,如果未能解决你的问题,请参考以下文章
MySQL:procedure, function, cursor,handler
重用 PROCEDURE/FUNCTION 使用不同的值来做同样的事情
delphi如何在一个function自定义函数中调用procedure中的私有变量?