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