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

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

这样:

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

给你个例子

drop procedure if exists call proc_temp

delimiter $ //存储过程从$ 开始

create procedure proc_temp(

IN startDate VARCHAR(20),//设置传入的变量,没有可以不要传

IN endDate VARCHAR(20))

BEGIN

DECLARE dflag INT(11)//这里可以定义你需要的仅在存储过程里使用的变量

SET dflag = 0//初始化

select * from table where time between startDate and endDate ;//你的sql语句,可以一句可以多句

END $//存储过程从$ 结束

delimiter

当上面的选中运行后没问题,可以选中下面的call xx 运行,上面的代码没有改动的话只需要运行一次


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6154057.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存