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

2024-11-27 16:38:55
推荐回答(5个)
回答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 过程名

回答2:

MySQL教程4 MySQL8运算符、函数、存储过程及新增数据类型 17.之创建带有IN和OUT参数的存储过程 学习猿地

回答3:

call sp_add();
是不是你定义的过程有问题吧,并没有指出返回结果来
像我这样是可以的:

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;

回答4:

就是call sp_add().但如果你要返回值应该用function。 procedure没有返回值的。

回答5:

没()的,要有结果显示的添加OUT参数
比如sp_add(out int @p)