mysql存储过程怎么写(mysql数据存储过程怎么写?)

http://www.itjxue.com  2023-01-29 07:29  来源:未知  点击次数: 

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

这个SQL存储过程改写成MYSQL如下:

CREATE PROCEDURE proc_login

(IN v_name VARCHAR(16),

IN v_psd VARCHAR(8),

OUT v_out INT)

BEGIN

DECLARE v_pass VARCHAR(8);

DECLARE v_num INT;

SELECT COUNT(*) INTO v_num FROM USER WHERE name=v_name;

IF v_num=0

SELECT pass INTO v_pass FROM user WHERE name=v_name;

IF v_pass=v_psd

SET v_out=9;

ELSE

SET v_out=1;

END IF;

ELSE

SET v_out=1;

END IF;

END;

希望能帮到你。

mysql执行存储过程语句怎么写

比方说你创建存储过程的语句如下:

create?procedure?test_proc(count?int)

那么执行存储过程的语句就是:

call?test_proc(500);

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

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 ; 用完了之后要把分隔符还原。

(责任编辑:IT教学网)

更多

推荐导航代码文章