MySql存储过程的操作

Posted 梦碎轻抚尘埃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySql存储过程的操作相关的知识,希望对你有一定的参考价值。

【存储过程1】

写一个存储过程 procedure实现两数相加

DELIMITER &&
CREATE PROCEDURE pr_add(xx INT,yy INT)
	BEGIN
DECLARE zz INT;
SET zz=xx+yy;
SELECT zz AS SUM;
	END
&&
DELIMITER ;

  

mysql调用存储过程 CALL pr_add(3,5);

Java调用存储过程

使用CallableStatement

package com.zhiqi.fir;

import java.sql.*;

public class Fir {
	private static String jdbcName="com.mysql.jdbc.Driver";
	private static String dbUrl="jdbc:mysql://localhost:3306/Fruit";
	private static String dbUser="root";
	private static String dbPassword="123456";
	
	public static void main(String[] args) throws Exception {
		Class.forName(jdbcName);
		Connection conn=DriverManager.getConnection(dbUrl,dbUser,dbPassword);
		CallableStatement cast=conn.prepareCall("call pr_add(?,?)");
		cast.setInt(1, 5);
		cast.setInt(2, 1);
			ResultSet rs=cast.executeQuery();
		while(rs.next()){
			System.out.println(rs.getInt(1));
		}
		conn.close();
	}
}

  【存储过程2】

 水果表,存储过程查询库存量大于某数值的水果名称

DELIMITER &&
CREATE PROCEDURE pro_Fruit_kcl(IN xx INT) 
READS SQL DATA
	BEGIN
SELECT NAME FROM Fruit WHERE Numbers>xx;
	END
&&
DELIMITER ;

  MySql调用存储过程

CALL pro_Fruit_kcl(99);

  Java调用MySql调用存储

  

package com.zhiqi.fir;

import java.sql.*;

public class Fir {
	private static String jdbcName="com.mysql.jdbc.Driver";
	private static String dbUrl="jdbc:mysql://localhost:3306/Fruit";
	private static String dbUser="root";
	private static String dbPassword="123456";
	
	public static void main(String[] args) throws Exception {
		Class.forName(jdbcName);
		Connection conn=DriverManager.getConnection(dbUrl,dbUser,dbPassword);
		CallableStatement cast=conn.prepareCall("CALL pro_Fruit_kcl(?)");
		cast.setInt(1, 99);
		ResultSet rs=cast.executeQuery();
		while(rs.next()){
			System.out.println(rs.getString(1));
		}
		conn.close();
	}
}

  【存储过程3】

 

以上是关于MySql存储过程的操作的主要内容,如果未能解决你的问题,请参考以下文章

MySQL基础--存储过程和函数

MySQL存储过程

MySQL存储过程和函数

lyt经典版MySQL基础——存储过程

mysql-存储过程和函数-热身运动

MySQL——存储过程