怎么写存储过程mysql mysql中存储过程怎么写

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

这样:

网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于成都企业网站定制,高端网页制作,对成都石雕等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业成都网站推广优化,H5建站,响应式网站。

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数据库存储过程怎么写

创建存储过程

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编写一个存储过程?

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的存储过程怎么写?

DELIMITER $$

USE `test`$$

DROP PROCEDURE IF EXISTS `proc_now_time`$$

CREATE DEFINER=`root`@`%` PROCEDURE `proc_now_time`(OUT `now_time` TEXT)

BEGIN

#Routine body goes here...

DECLARE

now_time TEXT;

select name ,age from test1,test2 INTO now_time;

SELECT now_time;

END$$

DELIMITER ;


名称栏目:怎么写存储过程mysql mysql中存储过程怎么写
网站链接:http://scyanting.com/article/ddeeeog.html