疑问如题,下面是过程结构,请问这是咋回事呢?
mysql> SHOW CREATE PROCEDURE getmessage;
+------------+----------+-------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------
--------------------+----------------------+--------------------+
| Procedure | sql_mode | Create Procedure
haracter_set_client | collation_connection | Database Collation |
+------------+----------+-------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------
--------------------+----------------------+--------------------+
| GetMessage | | CREATE DEFINER=`root`@`localhost` PROCEDURE `GetMessage`(
msgname varchar(45)
)
BEGIN
declare msg int;
set msg = ( select count( `idMessages` ) from `messages` where ( `isDeleted` is null or `isDeleted` <> 1 ) and `MsgName` = msgname );
if msg < 1 then
begin
INSERT INTO `chinatelecom`.`messages` (`MsgID`, `MsgName`, `MsgResult`, `AddUser`)
VALUES ( LEFT( CONCAT( 'NO_MSG-000',RAND() ), 20 ) , msgname , 'this message haven\'t defined', '-2');
call GetMessage( 'MESSAGE_NOT_DEFINED' );
end;
else
begin
select ( 0 - `idMessages` ) as returned,
`MsgID` as MessageID,
`MsgName` as MessageName,
`MsgResult` as MessageResult
from `messages`
where `MsgName` like msgname; -- ( `isDeleted` is null or `isDeleted` <> 1 )
-- and
end;
end if;
END | utf8 | utf8_general_ci | latin1_swedish_ci |
+------------+----------+-------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------
--------------------+----------------------+--------------------+
1 row in set (0.00 sec)
mysql> call addtreebytypename('test','test',-1);
+----------+------------------+------------------------------------+------------------------------+
| returned | MessageID | MessageName | MessageResult |
+----------+------------------+------------------------------------+------------------------------+
| -1 | MSG-0001 | TREES_TYPE_HAS_DEFINED_BUT_DELETED | A message haven't defined |
| -2 | NO-MSG-0000.6085 | TREES_TYPE_HAS_DEFINED_BUT_DELETED | this message haven't defined |
+----------+------------------+------------------------------------+------------------------------+
2 rows in set (0.01 sec)
Query OK, 0 rows affected (0.11 sec)
mysql> select ( 0 - `idMessages` ) as returned,
-> `MsgID` as MessageID,
-> `MsgName` as MessageName,
-> `MsgResult` as MessageResult
-> from `messages`
-> where `MsgName` like 'TREES_TYPE_HAS_DEFINED_BUT_DELETED';
+----------+------------------+------------------------------------+------------------------------+
| returned | MessageID | MessageName | MessageResult |
+----------+------------------+------------------------------------+------------------------------+
| -2 | NO-MSG-0000.6085 | TREES_TYPE_HAS_DEFINED_BUT_DELETED | this message haven't defined |
+----------+------------------+------------------------------------+------------------------------+
1 row in set (0.00 sec)