我试图通过C#创建一个MySql存储过程。我也创建了一些其他的,但是当我尝试通过MySqlCommand.ExecuteNonQuery
执行查询时,它会抛出一个异常,您查询的语法不兼容。以下是异常消息:MySql查询语法错误
您的SQL语法错误; 检查对应 你的MySQL服务器版本使用附近的 正确的语法手册 'SET VariableRecordExists =(SELECT COUNT(*)FROM SmartCache_Sync WHERE MachineNa' 第10行
在这里,我我试图建立查询字符串:
string sql = @"CREATE PROCEDURE SmartCache_UpdateSync
(
VariableMachineName varchar(50)
)
BEGIN
DECLARE VariableRecordExists int;
DECLARE VariableSetDate datetime;
START TRANSACTION;
SET VariableSetDate= Now()
SET VariableRecordExists = (SELECT COUNT(*) FROM SmartCache_Sync WHERE MachineName = VariableMachineName)
IF VariableRecordExists = 1
THEN
UPDATE SmartCache_Sync
SET LastUpdate = VariableSetDate
WHERE MachineName= VariableMachineName;
ELSE
INSERT INTO SmartCache_Sync
(MachineName,LastUpdate)
VALUES (VariableMachineName,VariableSetDate);
END IF;
COMMIT;
SELECT VariableSetDate;
END";
我不知道我犯了一个错误也许我缺少一个分号;
somewh还是什么。如果有人能帮助我,我将不胜感激。
它不工作,说实话我有一个预感它不会工作 – Omayr 2011-05-04 11:11:27