Stored procedure won't allow multiple commands

I am try to create a procedure that does inserts and returns a command:

DELIMITER $$

DROP PROCEDURE IF EXISTS `testDB`.`insmod` $$
CREATE PROCEDURE `insmod`(
_name VARCHAR(50)
,_description TEXT
,_header varchar(50)
,_footer VARCHAR(50)
,_left_menu varchar(50)
,_right_menu varchar(50)
,_header_menu varchar(50)
,_version varchar(10)
,OUT module_id INT
)
INSERT INTO jd_module
(name,description,header,footer,left_menu,right_menu,header_ menu,version)
VALUES
(_name,_description,_header,_footer,_left_menu,_right_menu,_ header_menu,_version)
$$

SET module_id = [at] [at] IDENTITY $$

DELIMITER ;

When I run this script to create the procedure, this message is shown:
"Unknown system variable 'module_id'"
BUT, it is created and I can run it like so:

call insmod(now(),'','','','','','','', [at] mod_id);
select [at] mod_id;

However, [at] mod_id is always NULL. Please share some insight. I based
this off of the docs here:
http://mysql.com/doc/refman/5.0/en/call.html, but I can't even create
the sproc in the example.

MySQL version: 5.0.15-nt

Thanks.
deja.10.thrillho [ Do, 17 August 2006 00:10 ] [ ID #1432369 ]

Re: Stored procedure won't allow multiple commands

FIXED IT. FYI, this works:

DELIMITER $$
CREATE PROCEDURE `insmod`(
_name VARCHAR(50)
,_description TEXT
,_header varchar(50)
,_footer VARCHAR(50)
,_left_menu varchar(50)
,_right_menu varchar(50)
,_header_menu varchar(50)
,_version varchar(10)
,OUT module_id INT
)
BEGIN
INSERT INTO jd_module
(name,description,header,footer,left_menu,right_menu,header_ menu,version)
VALUES
(_name,_description,_header,_footer,_left_menu,_right_menu,_ header_menu,_version
);

SET module_id = [at] [at] IDENTITY;
END $$
DELIMITER ;
deja.10.thrillho [ Do, 17 August 2006 00:31 ] [ ID #1432370 ]
Datenbanken » mailing.database.mysql » Stored procedure won't allow multiple commands

Vorheriges Thema: mysqld_multi not picking up GNRs
Nächstes Thema: updating old query?