Hello,
I have a dynamic stored procedure with an if statement setting a stmt to include in my insert statement. I will only share a portion of the code, enough to get the idea across. The procedure compiles correctly, but when I validate my if statement this error is returned:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF (SELECTED_PROJECT_LOBSELECTION = 'Copy the Whole Project') THEN
SET lob' at line 1:
My If statement is as follows:
DECLARE CURSOR_C CURSOR WITH RETURN FOR PREPSTMT;
IF (SELECTED_PROJECT_LOBSELECTION = 'Copy the Whole Project') THEN
SET lobInsertStmt = ' AND p.PROJECTION_PROJECT_NME = ' || SELECTED_PROJECT_NAME
|| ' AND p.PROJECTION_PROJ_CATG_NME = ' || SELECTED_PROJECT_CATG
|| ' AND p.FINANCIAL_PROJECTION_YEAR_NUM = ' || CAST(SELECTED_PROJECT_YEAR AS int)
|| ' AND g.MODEL_GROUP_SNAPSHOT_TSP = ' || SELECTED_SNAPSHOT_TIMESTAMP;
ELSEIF SELECTED_PROJECT_LOBSELECTION = 'Copy All NB Models Only' THEN
SET lobInsertStmt = ' AND p.PROJECTION_PROJECT_NME = ' || SELECTED_PROJECT_NAME
|| ' AND p.PROJECTION_PROJ_CATG_NME = ' || SELECTED_PROJECT_CATG
|| ' AND p.FINANCIAL_PROJECTION_YEAR_NUM = ' || CAST(SELECTED_PROJECT_YEAR AS int)
|| ' AND g.MODEL_GROUP_SNAPSHOT_TSP = ' || SELECTED_SNAPSHOT_TIMESTAMP
|| ' AND m.PROJECTION_MODEL_CATEGORY_NME IN ('|| SELECTED_PROJECT_TYPE || ')';
....
END IF;
PREPARE PREPSTMT FROM lobInsertStmt;
.....
OPEN CURSOR_C;
Any suggestions are much appreciated. Thanks!
Forums: