mysql 存储过程

 1 CREATE OR REPLACE PROCEDURE TESTPRO(PARAM1 IN VARCHAR2,PARAM2 IN VARCHAR2) AS   
 2 BEGIN  
 3        INSERT INTO TESTTABLE (ID,NAME) VALUES (PARAM1, PARAM2);  
 4  END TESTPRO;  
 5 Java代码:     
 6   
 7  package com.dragon.test;   
 8   import org.springframework.jdbc.core.JdbcTemplate;   
 9   public class JdbcTemplateTest {   
10    private JdbcTemplate jdbcTemplate;   
11    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {   
12    this.jdbcTemplate = jdbcTemplate;   
13 }   
14     public void test(){   
15      this.jdbcTemplate.execute("call testpro('p1','p2')");   
16   }   
17  }   

折腾我一下午,原来存储过程需的变量声明类型,要大写,或者要给出大小,报错报的不明显

参考

CREATE DEFINER=``@`` PROCEDURE `kll_adduser`(weixin_id varchar(128),hotel_id INT,hotel_name VARCHAR(128),user_name VARCHAR(20),user_cardid VARCHAR(15),user_phone varchar(15),
checkin_time varchar(15),letter varchar(200))
BEGIN
Insert Into kh_userinfo (weixin_id,hotel_id,hotel_name,user_name,user_cardid,user_phone,checkin_time) 
Values(weixin_id,hotel_id,hotel_name,user_name,user_cardid,user_phone,checkin_time);

Insert Into hk_share (user_phone,user_cardid,art_content)VALUES(user_phone,user_cardid,letter);

END
原文地址:https://www.cnblogs.com/qq4004229/p/3926315.html