函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的 *** 作。
在MySQL——函数的使用方法与MySQL内部函数的使用方法一样。
这样:
CREATE PROCEDURE sp_add(a int, b int,out c int)
begin
set c=a+ b
end
调用过程:
call sp_add (1,2,@a)
select @a
扩展资料:注意事项
存储过程(stored procedure)是一组为了完成特定功能的SQL语句集合,经编译后存储在服务器端的数据库中,利用存储过程可以加速SQL语句的执行。
存储过程分为系统存储过程和自定义存储过程。
系统存储过程在master数据库中,但是在其他的数据库中可以直接调用,并且在调用时不必在存储过程前加上数据库名,因为在创建一个新数据库时,系统存储过程在新的数据库中会自动创建。
自定义存储过程,由用户创建并能完成某一特定功能的存储过程,存储过程既可以有参数又有返回值,但是它与函数不同,存储过程的返回值只是指明执行是否成功,并不能像函数那样被直接调用,只能利用execute来执行存储过程。
创建存储过程
SQL Server创建存储过程:
create procedure 过程名
@parameter 参数类型
@parameter 参数类型
。。。
as
begin
end
执行存储过程:execute 过程名
语法:Create function function_name(参数列表)returns返回值类型函数体 函数名,应合法的标识符,不应与系统关键字冲突。
一个函数应该属于某个数据库,可以使用db_name.funciton_name的形式执行当前函数所属数据库,否则为当前数据库。
参数部分,由参数名和参数类型组成。
返回值类类型.注意,一定要有return返回值语句。
创建第一个函数:
mysql>DROP FUNCTION IF EXISTS SP_FUNC_DBDH_ONE -- 删掉已存在函数 DELIMITER &&-- 定义分隔符,必须要有 ,本例为 &&可以为得数字符,例如: $$,%%,**
mysql>CREATE FUNCTION SP_FUNC_DBDH_ONE( PARA_VAR varchar(30)) -- 多个参数用,分割 参数
的类型必须是mysql列存在的类型
->RETURNS VARCHAR(100) -- 指定返回值类型,如果你不确定返回
文本长度,可以使用text
->BEGIN
->DECLARE NAYIBU_FIR VARCHAR(30) DEFAULT 'THIS IS MY FIRST,' -- 定义变量,设置默认值
->SET NAYIBU_FIR = concat(NAYIBU_FIR,PARA_VAR)
->RETURN NAYIBU_FIR-- 返回值
->END $$
后面有你在前面定义的分割符号
Query OK, 0 rows affected (0.00 sec)
mysql>DELIMITER &&
调用自定义函数,输出结果如下:
mysql>SELECT SP_FUNC_DBDH_ONE('PROGRAM')
+------------------------------+
| SP_FUNC_DBDH_ONE('PROGRAM') |
+------------------------------+
| 'THIS IS MY FIRST, PROGRAM|
+------------------------------+
1 row in set (0.00 sec)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)