stringdelProc=@"DROPPROCEDUREIFEXISTSDEL_FK;";_sqlHelper.ExecuteNonQueryText(delProc,null);stringcreateProc=@"DELIMITER//DROPPROCEDUREIFEXISTSDEL_FK//CREATEPROCEDUREDEL_F...
string delProc = @" DROP PROCEDURE IF EXISTS DEL_FK;";
_sqlHelper.ExecuteNonQueryText(delProc, null);
string createProc = @"DELIMITER //
DROP PROCEDURE IF EXISTS DEL_FK //
CREATE PROCEDURE DEL_FK(P_SCHEMA_NAME VARCHAR(200),P_TABLE_NAME VARCHAR(200),P_FK_NAME VARCHAR(200))
BEGIN
DECLARE I INT DEFAULT 0;
SET @EX=CONCAT('ALTER TABLE ', P_SCHEMA_NAME, '.', P_TABLE_NAME, ' DR', 'OP FOR', 'EIGN KEY ', P_FK_NAME);
SET I = (SELECT COUNT(*) FROM information_schema.KEY_COLUMN_USAGE WHERE CONVERT(TABLE_SCHEMA USING utf8) COLLATE utf8_unicode_ci = P_SCHEMA_NAME AND CONVERT(TABLE_NAME USING utf8) COLLATE utf8_unicode_ci = P_TABLE_NAME AND CONVERT(CONSTRAINT_NAME USING utf8) COLLATE utf8_unicode_ci = P_FK_NAME);
IF I > 0 THEN
PREPARE stmt FROM @EX;
EXECUTE stmt;
END IF;
END;//
DELIMITER ;";
try
{
_sqlHelper.ExecuteNonQueryStoredProcedure(createProc);
}
catch(Exception e)
{
throw;
}
Exception e:----------------------
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 'ALTER TABLE ', P_SCHEMA_NAME, '' AND name LIKE '', P_TABLE_NAME, ' DR', 'OP FOR'' at line 1
---------------
.net 4.6框架 mysql.data版本5.2.3.0
哪位大神帮我解决一下?
展开