编写mysql存储过程中遇到的问题

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、其他相关内容

每次提交数据库不宜过多,会导致一次提交量大导致错误;也不宜过少,这样效率偏低

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值