九游登录方式

2020-04-19由程序员日记发表于数据库教程 浏览13次

九游登录方式2021最强娱乐公司,提供安全无忧娱乐平台,中文网址通道最强渠道之一,让您享受娱乐,免去后顾之忧1. 存储过程

1.1. 基本语法

create procedure name ([params])

UNSIGNED [characteristics] routine_body

params : in|out|inout 指定参数列表 代表输入与输出

routine_body: SQL代码内容,以begin ........ end

characteristics: 指定存储过程特性,包含5种

1 DETERMINISTIC 不确定的
2 NO SQL 没有SQl语句,当然也不会修改数据
3 READS SQL DATA 只是读取数据,当然也不会修改数据
4 MODIFIES SQL DATA 要修改数据
5 CONTAINS SQL 包含了SQL语句

1.2 创建一个指定执行权限的存储过程

create DEFINER=root@% procedure name ([params])

UNSIGNED [characteristics] routine_body

DEFINER:指明谁有权力来执行。

1.3 DELIMITER 的使用

”DELIMITER //“ 表示设置“//”符号为结束语,因为mysql中默认语句结束为分号‘;’,为了避免存储过程与mysql语句符号冲突,所以有时使用DELIMITER来改变结束语符号,要配合end //来使用;

示例:创建一个root账户执行的存储过程,输出给定字符串的长度

DELIMITER //
CREATE definer=root@% PROCEDURE avgFruitPrice(
in f_string VARCHAR(200)
)
BEGIN
select length(f_string);
END//

2. 创建函数

函数的创建与存储过程相同

示例

DELIMITER //
CREATE definer=root@% FUNCTION my\_length(
f_string VARCHAR(200)
)
RETURNS INT(11)
UNSIGNED NO SQL
BEGIN
return length(f_string);
END//

注意: 创建函数需要注意3个地方,

1. RETURNS: 需指定返回类型

2. UNSIGNED NO SQL 需指定存储过程特性

3.return: 返回需要的数据

遇见的错误:

mysql 创建存储过程及函数教程

如报错如上信息就是没有指定存储过程特性。

存储过程函数中可以通过mysql查询结果为其参数复制: 其语句为select .... into

begin

declare onename char(50) default‘0’;

declare twoname char(50);

select f_name, b_name into onename, twoname from t_user where id =1;

.......

end//

说明:

declare: 存储过程及函数内部定义变量

default:默认值