MySQL Forums
Forum List  »  Stored Procedures

Re: Error in IF block
Posted by: Anjanesh Lekshminarayanan
Date: June 20, 2007 09:38AM

Oh...

So how do I access args in the procedure ?
DROP TABLE IF EXISTS `tbl1`;
CREATE TABLE `tbl1` (
  `id` int(11) NOT NULL auto_increment,
  `uniqueKEY` int(11) default NULL,
  `name` varchar(50) collate latin1_spanish_ci default NULL,
  `age` int(11) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

DELIMITER $$

DROP PROCEDURE IF EXISTS `mysp`$$
CREATE PROCEDURE `mysp`(IN uniqueKEY INT, IN Name VARCHAR(50), IN Age INT, OUT c INT)
BEGIN
	SET @c := (SELECT `id` FROM `tbl1` WHERE `uniqueKEY` = uniqueKEY);
	IF @c IS NULL THEN
		INSERT INTO `tbl1` VALUES ('', uniqueKEY, Name, Age);
		SET @c := LAST_INSERT_ID();
	END IF;
END$$

DELIMITER ;

CALL mysp(12345, 'John', 26, @d);
SELECT @d;

C:\>mysql --user=username --database=db -p < test.sql
Enter password:
@d
NULL

C:\>

Anjanesh



Edited 3 time(s). Last edit at 06/20/2007 09:47AM by Anjanesh Lekshminarayanan.

Options: ReplyQuote


Subject
Views
Written By
Posted
3325
June 20, 2007 06:45AM
1286
June 20, 2007 07:37AM
1113
June 20, 2007 09:09AM
Re: Error in IF block
1218
June 20, 2007 09:38AM
1138
June 20, 2007 10:02AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.