mysql怎么写存储过程 mysql如何编写存储过程

mysql数据库存储过程怎么写

创建存储过程

成都创新互联主要从事成都网站设计、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务鄢陵,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

mysql delimiter $ -- delimiter $是设置 $为命令终止符号,代替默认的分号,因为分号有其他用处.

mysql create procedure sp_test(IN pi_id int, OUT po_name varchar(10))

- begin

- select * from test.tb_test;

- select tb_test.name into po_name from test.tb_test where tb_test.id = pi_id;

- end

- $

Query OK, 0 rows affected (0.00 sec)

mysql delimiter ; -- 恢复分号作为分隔终止符号

5.调用存储过程

mysql set @po_name='';

Query OK, 0 rows affected (0.00 sec)

mysql call sp_test(1,@po_name);

MySQL里面sql语句调用存储过程,该如何写?

这样:

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 过程名

MySql编写一个存储过程?

1、delimiter // ,声明分隔符:DELIMITER是分割符的意思,因为MySQL默认以";"为分隔符,如果我们没有声明分割符,那么编译器会把存储过程当成SQL语句进行处理,则存储过程的编译过程会报错,所以要事先用DELIMITER关键字申明当前段分隔符,这样MySQL才会将";"当做存储过程中的代码,不会执行这些代码(这里如果不懂的话,你可以通过试错的方法来理解)。

2、编写存储过程的格式:CREATE PROCEDURE([[IN |OUT |INOUT ]参数名数据类形...])

例子:

1)create procedure proc1(out s int) // 只有输出

2)create procedure proc2(in p_in bigint) // 只有输入

3)create procedure proc15() // 没有输入与输出

4)create procedure demo_multi_param(in id bigint,in name varchar(32),out c int) //多输入与输出

3、过程体的开始与结束使用BEGIN与END进行标识。

4、select count (*) into s from student; // 过程体,一系列的逻辑语句,sql语句

5、delimiter ; 用完了之后要把分隔符还原。

分享文章:mysql怎么写存储过程 mysql如何编写存储过程
网页地址:https://www.cdcxhl.com/article2/dddjjic.html

成都网站建设公司_创新互联,为您提供App开发网站建设网站维护品牌网站设计建站公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

手机网站建设