美文网首页
MySQL存储过程和存储函数

MySQL存储过程和存储函数

作者: 爱喝气泡水 | 来源:发表于2019-07-14 18:46 被阅读0次

一:创建存储过程:

demo1:判断输入参数;创建表。

delimiter //

create procedure proce_t1(in param int)

begin

declare fft varchar(20);

if param = 1 then

set fft = 'Mysql1';

else

set fft = 'Mysql2';

end if;

create table proce_test1(

id int(11) not null primary key auto_increment,

name varchar(20) not null

);

select fft;

end

//

执行完成后,替换回来:

delimiter;

调用:

call proce_t1(1);

删除:

drop procedure proce_t1;

demo2:查询proce_test1记录数。reads sql data没有这句会报错

delimiter //

create procedure proce_t2(out count_num int)

reads sql data

begin

select count(id) into count_num from proce_test1;

end

//

替换回来

delimiter;

调用:@abc声明全局变量abc 作为输出参数。

call proce_t2(@abc);

select @abc;

删除:

drop procedure proce_t2;

二:创建存储函数

demo1:查询输入name参数查询id数据

delimiter //

create function fun_t1(ne varchar(20))

returns int(11)

reads sql data

begin

return(select id from proce_test1 where name=ne);

end

//

替换回来:

delimiter;

调用:

select fun_t1('2');

删除:

drop function fun_t1;

三:变量的应用

局部参数-局部变量:只在定义该局部变量的begin  end范围内有效;

会话参数-会话变量:在整个存储过程范围内都有效;

1、声明局部变量

declare a int;      // 定义变量,默认值为null

declare aa char(10) default 'innertext';  // 定义变量,设置默认值

demo1:

delimiter //

create procedure p1()

begin

declare x char(10) default '123';

begin

declare x char(10) default '456';

select x;

end

select x;

end

//

2、声明全局变量

不必声明即可使用,在整个过程中有效,以字符@作为起始字符。

demo1:

delimiter //

create procedure p2() 

begin

set @t=1;

begin

set @t=2;

select @t;

end

select @t;

end

//

3、为变量赋值

(1)declare aa varchar(10) default '456';

(2)set aa = ‘1234’

         set @aaa = 3;

(3)select tel into aa from table_name where id = 1;

4、查看存储过程/函数

(1)查看存储过程/函数状态

show procedure | function status like 'pattern';

(2)查看存储过程/函数语句

show create procedure | function proce_fun_name;

四:光标和修改已有的存储过程函数

修改(没梳理完整,后面补)

demo1:

alter procedure proce_name

modifies sql data

sql security invoker;

光标(没梳理完整,后面补)

相关文章

  • MySQL 视图和存储程序

    MySQL 视图和存储程序 存储程序:存储函数、存储过程、触发器和事件的总称。 存储例程:存储函数+存储过程。 触...

  • 深入浅出MySQL之开发篇(二)

    继续深入了解MySQL的高级特性。 1.存储过程和函数 什么是存储过程和函数 存储过程和函数是事先经过编译并存储在...

  • MySQL存储过程和存储函数

    一、存储过程 MySQL存储过程存储过程和存储函数参考文章 SQL语句需要先编译然后执行,而存储过程(Stored...

  • MySQL存储过程和存储函数

    一:创建存储过程: demo1:判断输入参数;创建表。 delimiter // create procedure...

  • Mysql存储例程、存储过程和存储函数

    参考官方给出的:https://dev.mysql.com/doc/refman/8.0/en/stored-ro...

  • mysql存储过程和函数

    存储过程和函数相对于java的函数的是非常类似的,把语句组合到一起,使用的时候,直接调用就可以了。 存储过程 语法...

  • MySQL 存储过程和函数

    存储过程和函数是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程和函数可以简化应用开发人员的很...

  • PL/SQL之存储过程

    存储过程、存储函数和触发器 存储过程和存储函数定义:指存储在数据库中供所有用户程序调用的子程序叫存储过程或存储函数...

  • Oracle之存储过程与存储函数

    存储过程和存储函数指存储在数据库中供所有用户程序调用的子程序叫存储过程或者存储函数;存储过程和存储函数相同点:完成...

  • mysql-存储函数、存储过程

    在测试数据的过程中,通过存储函数及存储过程构造数据: # 生成随机字符串 DELIMITER $$CREATE F...

网友评论

      本文标题:MySQL存储过程和存储函数

      本文链接:https://www.haomeiwen.com/subject/zzhikctx.html