Philip Markwalder <[EMAIL PROTECTED]> wrote:
> 
> I have a few questions concerning stored procedures:
> 
> 1. If I create a stored procedure (like the one below), why does the 
> returned values not change, though in the stored prcoedure the id has 
> been generated?
> 2. Is there any better way to hand over multiple values and how can I 
> unset global varaibles?
> 
> thx
> 
> Philip
> 
> 
> 
> delimiter |
> drop procedure if exists create_obj |
> 
> CREATE PROCEDURE `create_obj` (
>   out success int(2),
>   out success_msg varchar(255),
>   out obj_id int(10),
>   inout obj_hostname varchar(255),
>   inout obj_type varchar(25)
>   ) LANGUAGE SQL not deterministic
> begin
>   declare done int default 0;
>   DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
>   insert into  idsdb.obj values (NULL,obj_hostname,obj_type);
>   if ! done then
>       select LAST_INSERT_ID() into obj_id;
>       set success = 1;
>       set success_msg = concat("added host with object id: ", obj_id);
>   else
>       set success = -1;
>       set success_msg="Could not insert new object";
>   end if;
> end |
> 
> call create_obj(@a,@b,@id,'test1','ddd')|
> select @a,@b,@id |
> 

LAST_INSERT_ID() returns wrong result inside stored procedure. I entered simple test 
case to the bug database:
        http://bugs.mysql.com/bug.php?id=3117

Thanks!


-- 
For technical support contracts, goto https://order.mysql.com/?ref=ensita
This email is sponsored by Ensita.net http://www.ensita.net/
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /    Victoria Reznichenko
 / /|_/ / // /\ \/ /_/ / /__   [EMAIL PROTECTED]
/_/  /_/\_, /___/\___\_\___/   MySQL AB / Ensita.net
       <___/   www.mysql.com





-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to