Close, but no cigar.
DELIMTER, tells the mysql parsing engine when input has finished, and processing should begin.
Normally, ; is delimiter, but when you want to write SQL statements as part of a procedure to be processed later, they will need the ; delimter then, but we want it ignored now.
So, we set DELIMITER $$ (it can be anything that won't otherwise appear in the SQL you are going to write), write the SQL, and then terminate input with the temporary delimiter.
Then restore normal processing with DELIMITER ;
DELIMITER $$
CREATE PROCEDURE `sp_addChild` (
IN CID int,
IN fname varchar( 50 ) ,
IN lname varchar( 50 ) ,
IN DOB DATETIME,
IN gender varchar( 10 ) ,
IN goals varchar( 255 ) ,
IN nameMeaning varchar( 255 ) ,
IN orphaned tinyint,
IN family varchar( 255 ) ,
IN eligible tinyint,
IN notes varchar( 255 )
)
BEGIN
INSERT INTO Children(
Child_ID,
Child_Fname,
Child_lname,
Child_DOB,
Child_gender,
Child_goals,
Child_nameMeaning,
Child_orphaned,
Child_family,
Child_eligible,
Child_notes
)
VALUES (
CID
, fname
, lname
, DOB
, gender
, goals
, nameMeaning
, orphaned
, family
, eligible
, notes
);
END
$$
DELIMITER ;
Good luck,
Barry.