MySQL存储过程相互调用并获得错误码示例_Mysql

复制代码 代码如下:

mysql>
mysql> delimiter $$
mysql>
mysql> CREATE PROCEDURE myProc()
-> MODIFIES SQL DATA
-> BEGIN
-> DECLARE l_status VARCHAR(20);
->
-> CALL myProc1(l_status);
-> IF l_status='Duplicate Entry' THEN
-> SELECT CONCAT('Warning: using existing definition for location ') AS warning;
-> END IF;
-> END$$
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> CREATE PROCEDURE myProc1(OUT out_status VARCHAR(30))
-> BEGIN
-> set out_status = 'Duplicate Entry';
-> END$$
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql>
mysql> delimiter ;
mysql> call myProc();
+--------------------------------------------------+
| warning |
+--------------------------------------------------+
| Warning: using existing definition for location |
+--------------------------------------------------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

mysql> drop procedure myProc;
Query OK, 0 rows affected (0.00 sec)

mysql> drop procedure myProc1;
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql>

时间: 2024-09-23 10:18:11

MySQL存储过程相互调用并获得错误码示例_Mysql的相关文章

mysql 存储过程中变量的定义与赋值操作_Mysql

一.变量的定义 mysql中变量定义用declare来定义一局部变量,该变量的使用范围只能在begin...end 块中使用,变量必须定义在复合语句的开头,并且是在其它语句之前,也可以同时申明多个变量,如果需要,可以使用default赋默认值. 定义一个变量语法如下: declare var_name[,...] type[default value]看一个变量定义实例 declare last date;二.mysql存储过程变量赋值 变量的赋值可直接赋值与查询赋值来操作,直接赋值可以用set

MySQL 存储过程中执行动态SQL语句的方法_Mysql

drop PROCEDURE if exists my_procedure; create PROCEDURE my_procedure() BEGIN declare my_sqll varchar(500); set my_sqll='select * from aa_list'; set @ms=my_sqll; PREPARE s1 from @ms; EXECUTE s1; deallocate prepare s1; end; 以上是小编为您精心准备的的内容,在的博客.问答.公众号.

MySQL 存储过程和"Cursor"的使用方法_Mysql

示例如下: 复制代码 代码如下: CREATE PROCEDURE `justifyGroupNum`() NOT DETERMINISTIC SQL SECURITY DEFINER COMMENT '' BEGIN /*how to run:call justifyGroupNum()*/ DECLARE p_group_id int; declare p_num int; declare stopFlag int; DECLARE cursor_name CURSOR FOR select

Mysql子查询IN中使用LIMIT应用示例_Mysql

这两天项目里出了一个问题,LIMIT使用后报错. 需求是这样的,我有3张表,infor信息表,mconfig物料配置表,maaply物料申请表,要求是读出申请表中哪些人申请哪些物料 于是我先是这样写的: 复制代码 代码如下: SELECT infor.name,infor.phone,infor.add, mconfig.mname,mapply.acount,from_unixtime(mapply.atime,'%Y-%m-%d') as 'atime' FROM mapply right

MySQL左联多表查询where条件写法示例_Mysql

复制代码 代码如下: select * from _test a left join _test b on a.id=b.id where a.level='20' and a.month='04' and b.level='20' and b.month='03'; select a.*,b.* from (select * from _test where level='20' and month='04') as a left join (select * from _test where

mysql 跨表查询、更新、删除示例_Mysql

下面来谈谈跨表插入,更新和删除 首先讨论的是跨表查询: insert into `table_A` select * from `table_B`;注意*代表全部插入. 接着又讨论关于跨表更新 复制代码 代码如下: update `table_A`, `table_B` set `table_A`.`name` = `table_B`.`name` where `table_A`.`id` = `table_B`.`id`;

MYSQL使用inner join 进行 查询/删除/修改示例_Mysql

复制代码 代码如下: --查询 SELECT tp.tp_id, tp.tpmc, tp.leveid, tp.tpdz, tp.jgm, tp.scsj, tp.pbzyid, tp.ksbfsj, tp.jsbfsj, tp.status, tp.tpbz FROM qdgl_tupian tp INNER JOIN qdgl_pqb pq ON tp.tp_id=pq.tpid WHERE pq.bfjgm='27010825' AND ps_bfsj >= '2013-01' AND p

php PDO 调用带有out参数的mysql存储过程实例

最近使用PHP数据库访问最新的一种技术 POD,不封装,代码也写得很少. 下面我将贴出我的代码. 代码部分: <?php  $dsn = "mysql:host=localhost;dbname=mysqldatabasedemo";  $db = new PDO($dsn,'root','123456@#',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET    NAMES'GBK';"));   $someInPa

java调用mysql存储过程实例分析_java

本文实例讲述了java调用mysql存储过程的方法.分享给大家供大家参考.具体如下: 数据库的测试代码如下 : 1.新建表test create table test( field1 int not null ) TYPE=MyISAM ; insert into test(field1) values(1); 2.删除已存在的存储过程: -- 删除储存过程 delimiter // -- 定义结束符号 drop procedure p_test; 3.mysql存储过程定义: create p