mysql存储过程打印⽇志_Mysql存储过程学习笔记
⼀、⼀个procedure实例句柄是什么东西
实现循环更新⼀张表的排序号功能,有多少条数据,就从1排到⼏。
DROP PROCEDURE IF EXISTS`update_old_sortnumber_procedure`; CREATE DEFINER=`root`@`%` PROCEDURE`update_old_sortnumber_procedure`
⼆、Mysql中定义存储过程
1.全Sql语句创建
例如执⾏以上sql即可创建
2.Navicat中创建
第⼀步,函数右键→ 新建函数
第⼆步,填写存储过程名字,选择过程,点完成
佳明active3和active4第三步,定义存储过程
三、Mysql存储过程中输⼊参数
elekCREATE DEFINER=`root`@`%` PROCEDURE`test_procedure`(in username varchar(250),in id INT)
BEGIN --打印⽇志直接⽤select SELECT username; SELECT 运⾏
输⼊参数
执⾏结果
总结:
1. 传⼊参数⽤ in 变量名 变量类型
2. 使⽤传⼊参数直接⽤参数名可以用文本编辑器编辑html文件吗
数据库异地备份方案3. 打印⽇志直接⽤select
四、Mysql存储过程中⾃定义变量
CREATE DEFINER=`root`@`%` PROCEDURE`test_procedure`()BEGIN DECLARE countRow INT DEFAULT 2; -- 变量赋值 set @countRow := countRow + 1; SE 输出结果
五、Mysql存储过程在SQL语句中嵌⼊参数
-- 循环⾏更新WHILE v_i @countRow DO SET@sqlStmt = CONCAT('UPDATE test SET sort_number=', v_i+1,'WHERE id IN (SELECT id FROM(select id from tes 总结:⽤concat拼接sql,执⾏语句执⾏sql
六、Mysql存储过程中查询语句执⾏结果赋值给变量
⽅式 1
DECLARE cnt INT DEFAULT 0;select count(*) into cnt from test;select cnt;
⽅式 2
mysql查看所有存储过程DECLARE cnt INT DEFAULT 0;set @cnt = (select count(*) from test);select @cnt;
⽅式3
DECLARE cnt INT DEFAULT 0;select count(*) into @cnt from test;select @cnt;
多个列的情况下似乎只能⽤ into ⽅式
elect max(status), avg(status) into @max,@avg from test_tbl;select @max, @avg;给我留⾔
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论