存储过程 带参数-java调用mysql存储过程输出参数
CREATE PROCEDURE T_WEATHER_PRO (IN tmdn VARCHAR(12),OUT tmsg VARCHAR(12))
BEGIN
DECLARE states,beginTime,endTime VARCHAR(2) ;
SELECT T_STATES,T_BEGINTIME,T_ENDTIME INTO states,beginTime,endTime FROM T_USER_WEATHER WHERE T_USER = tmdn LIMIT 1;
IF states = NULL THEN
INSERT INTO T_USER_WEATHER VALUES(NULL,tmdn,1,7,10);
SELECT T_STATES,T_BEGINTIME,T_ENDTIME INTO states,beginTime,endTime FROM T_USER_WEATHER WHERE T_USER = tmdn LIMIT 1;
SET tmsg = states;
ELSE
SET tmsg = states;
END IF;
END;
java调用
Connection conn = MyDataSource.getConnection();
try {
CallableStatement cstmt=conn.prepareCall(sql);
cstmt.setString(1, "0985023223");
cstmt.registerOutParameter(2, java.sql.Types.VARCHAR);
cstmt.executeUpdate();
String result=cstmt.getString(2);
System.out.println(result);
} catch (SQLException e) {
// TODO Auto-generated catch blockxQ
e.printStackTrace();
}
推荐阅读
-
C#调用存储过程详解(带返回值、参数输入输出等)
-
ASP调用带参数存储过程的几种方式
-
mysql表名作为参数传入存储过程
-
Asp .net 调用带参数的存储过程
-
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
-
使用动态SQL处理table_name作为输入参数的存储过程(MySQL)
-
ORACLE存储过程带默认值的参数怎么处理?
-
从一个存储过程说说mysql中日期函数的参数是否必须是日期格式
-
Sql Server 存储过程调用存储过程接收输出参数返回值
-
ASP.Net执行存储过程,SqlDbType.Decimal作为输出参数,没有小数位值的解决办法