当前位置: 代码迷 >> Sql Server >> mysql 存储过程,execute 出错
  详细解决方案

mysql 存储过程,execute 出错

热度:107   发布时间:2016-04-24 09:44:53.0
mysql 存储过程,execute 报错
执行这条sql:
EXECUTE 'SELECT SYSDATE()'


报如下错误:
[Err] 1064 - 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 ''SELECT SYSDATE()'' at line 1

数据库版本用的mysql  5.1

小弟愚昧,实在不知道错在哪里,EXECUTE  ('SELECT SYSDATE()'),这样也是试过了,call 也试过了,一直报错。。。
------解决思路----------------------
SET @SQL='SELECT SYSDATE()'
prepare SQL from @SQL;
execute SQL;
你试下
------解决思路----------------------
begin
DECLARE tableName VARCHAR(100) DEFAULT concat('OO_API_ACCESS_LOG_',year(SYSDATE()),month(SYSDATE()));
set @createSql = concat('CREATE TABLE ', tableName, '(ID int(18) NOT NULL AUTO_INCREMENT COMMENT \'主键ID\',
  USER_ID int(18) DEFAULT NULL,
  INVOKE_METHOD varchar(100) DEFAULT NULL COMMENT \'方法名称\',
  METHOD_VER varchar(20) DEFAULT NULL COMMENT \'方法版本号\',
  RESULT_TYPE int(18) DEFAULT NULL COMMENT \'返回值类型(1:正常、2:异常:3:参数错误)\',
  RESULT_CODE varchar(50) DEFAULT NULL COMMENT \'返回错误编码\',
  RESULT_MSG varchar(500) DEFAULT \'\' COMMENT \'Result_code对应的错误消息\',
  DEVICE_MANUFACTURER varchar(50) DEFAULT NULL COMMENT \'设备厂商\',
  DEVICE_MODEL varchar(50) DEFAULT NULL COMMENT \'设备型号\',
  SYSTEM_VER varchar(50) DEFAULT NULL COMMENT \'系统版本号\',
  APP_VER varchar(50) DEFAULT NULL COMMENT \'app版本号\',
  VISIT_DATE datetime DEFAULT NULL COMMENT \'调用接口时间\',
  IP varchar(40) DEFAULT NULL COMMENT \'调用接口的IP\',
  INVOKE_PARAM varchar(4000) DEFAULT NULL COMMENT \'调用接口的参数\',
  VISIT_TIME_COST int(18) DEFAULT NULL COMMENT \'接口响应时间\',
  PRIMARY KEY (ID),
  KEY INDEX_OO_API_ACCESS_LOG (VISIT_DATE,INVOKE_METHOD,USER_ID),
  KEY INDEX_USER_ID (USER_ID) USING BTREE,
  KEY INDEX_INVOKE_METHOD (INVOKE_METHOD) USING BTREE,
  KEY INDEX_VISIT_DATE (VISIT_DATE) USING BTREE
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;');
PREPARE statm from @createSql;
EXECUTE statm;
end
你试下
------解决思路----------------------
没MYSQL环境 没办法试。
我的印象中需要在前后都加上 delimiter // 这样的标识符。

  相关解决方案