存儲過程是什麼?
存儲過程是一段代碼,存儲在數據庫中,可以被程序調用
創建一個存儲過程
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;
存儲過程的有點
提高效率,我們可以直接來使用
減少和數據庫的通信,減少網絡負擔