1、未指定DELIMITER ,存储过程创建时报错1064
mysql默认结束符为“;”,而数据库脚本很可能以;结束,所以建议重新指定。
2、定义变量k int; 存储过程创建时报错1064
mysql 定义变量每个变量均需要带DECLARE,与oracle 语法不同
3、定义变量declare id VARCHAR2(32) DEFAULT "61309951115636"; 存储过程创建时报错1064
mysql 定义字符串变量为DECLARE id VARCHAR(32) ,与oracle 语法不同
4、调用存储过程时报错,SQL1366 ,incorrect integer value for column id
原因是 id这个字段类型为bigint ,脚本中传值该字段为字符串,虽然直接写sql 该字段为字符串也可以,但是存储过程时会报错
INSERT INTO t_coll_settle_trans (id, trans_id,cust_no,channel_id,currency,amount,rmb_fee,trans_rmb_amount,cust_rmb_amount,state,settle_finish_time )
VALUES("1589455888877","158945588887720190910",'GSPCHN190900028','SZPA','USD','98689','525','700918','700858','13','2019-08-31 17:58:52' );
5、调用存储过程时报错,id主键重复
主要是mysql 变量赋值不支持SET insert_id :=@insert_id + 1 ; 仅支持SET insert_id =insert_id + 1 ;
6、其他相关内容
每次提交数据库不宜过多,会导致一次提交量大导致错误;也不宜过少,这样效率偏低