sql语句
--存储过程 修改一条记录
delimiter $
create procedure proce5(id int,name varchar(20)) begin update student set sname=name where stu_id=id;
end$
delimiter;
--存储过程增加一条记录
delimiter $
create procedure proce6(id int,name varchar(20),sco int) begin insert into student values(stu_id,sname,score);
end$
delimiter;
update student set sname='课外' where stu_id=2;
--存储过程删除一条记录
delimiter $
create procedure proce7(id int) begin delete from student where stu_id=id;
end$
delimiter;
java 调用
package com.test.procedureTest;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.connection.util.ConnectionUtil;
public class UseProcudure {
public static void main(String[] args) throws SQLException {
Connection conn=new ConnectionUtil().getConnection();
//查看学生信息表
String sql1="{call proce1}";
CallableStatement c=conn.prepareCall(sql1);
ResultSet rs=c.executeQuery();
while(rs.next()){
System.out.println("学生ID="+rs.getInt(1)+" 学生姓名="+rs.getString(2)+" 学生成绩="+rs.getInt(3));
}
//修改学生一条记录
String sql2="{call proce5(?,?)}";
CallableStatement c2=conn.prepareCall(sql2);
c2.setInt(1, 2);
c2.setString(2, "小尾");
c2.execute();
//插入学生一条记录
String sql4="{call proce6(?,?,?)}";
CallableStatement c3=conn.prepareCall(sql4);
c3.setInt(1, 0);
c3.setString(2, "存储过程");
c3.setInt(3, 100);
c3.execute();
//删除一条记录
String sql5="{call proce7(?)}";
CallableStatement c5=conn.prepareCall(sql5);
c5.setInt(1, 4);
c5.execute();
//分割线
System.out.println("---------------------------------");
//查看修改以后的学生信息表
String sql3="{call proce1}";
CallableStatement c4=conn.prepareCall(sql3);
ResultSet rs4=c4.executeQuery();
while(rs4.next()){
System.out.println("学生ID="+rs4.getInt(1)+" 学生姓名="+rs4.getString(2)+" 学生成绩="+rs4.getInt(3));
}
}
}