मुझे लगता है कि समस्या यह है:आप DELIMITER
का उपयोग नहीं कर रहे हैं ।
तो बस इसे इस तरह रखें:
DELIMITER //
create procedure AddColumnUnlessExists(
IN dbName tinytext,
IN tableName tinytext,
IN fieldName tinytext,
IN fieldDef text)
begin
IF NOT EXISTS (
SELECT * FROM information_schema.COLUMNS
WHERE column_name=fieldName
and table_name=tableName
and table_schema=dbName
)
THEN
set @ddl = CONCAT('ALTER TABLE ', dbName, '.', tableName, ' ADD COLUMN ', fieldName, ' ', fieldDef);
prepare stmt from @ddl;
execute stmt;
END IF;
end //
DELIMITER ;
संपादित करें https://dev.mysql.com/doc /refman/5.7/hi/stored-programs-defining.html