CREATE PROCEDURE insert_country (
name_full VARCHAR(40),
name_short VARCHAR(10),
area_code TINYINT,
OUT id INT )
LANGUAGE SQL
SQL SECURITY INVOKER
COMMENT 'insert a new country'
BEGIN
DECLARE n TINYINT DEFAULT 0;
/* check for an existing country */
SELECT COUNT(*) INTO n FROM 'country' WHERE 'name_full' = name_full OR 'name_short' = name_short;
IF (n>1) THEN
SELECT INTO id -1;
ELSE
INSERT INTO 'country' ('id', 'name_full', 'name_short', 'area_code') VALUES (NULL, name_full, name_short, area_code);
SELECT INTO id LAST_INSERT_ID();
END IF;
END