存储过程是什么?
存储过程是一段代码,存储在数据库中,可以被程序调用
创建一个存储过程
create PROCEDURE SELECT_TESTTWO (IN TESTID LONG ,INOUT TESTALL VARCHAR(255))
BEGIN
SELECT `name` from test where id = TESTID INTO TESTALL;
END
创建存储过程指令:create PROCEDURE PROCEDURE_Name(输入,输出参数,可以有多个)
结构体
BEGIN sql END;
调用一个存储过程
@Test
public void test_PROCEDURE() throws Exception{
Class .forName( "com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection( url, user, password);
CallableStatement callableStatement = connection.prepareCall( "call
SELECT_TESTTWO(?,?)");//调用存储过程
callableStatement .setLong( 1, 1 );
callableStatement .registerOutParameter( 2, Types.VARCHAR);
callableStatement .execute();//执行存储过程
// Assert.assertNotNull(callableStatement);
System .out. println(callableStatement .getString( 2));
}
显示所有的存储过程
show procedure status;
删除一个存储过程
drop PROCEDURE demo;
DROP PROCEDURE SELECT_test;
DROP PROCEDURE SELECT_testone;
存储过程的有点
提高效率,我们可以直接来使用
减少和数据库的通信,减少网络负担