1. Declaración:
Se utiliza para acceder a su base de datos. La interfaz de sentencias no puede aceptar parámetros y es útil cuando se utilizan sentencias SQL estáticas en tiempo de ejecución. Si desea ejecutar la consulta SQL solo una vez, se prefiere esta interfaz sobre PreparedStatement.
Ejemplo –
//Creating The Statement Object Statement GFG = con.createStatement(); //Executing The Statement GFG.executeUpdate("CREATE TABLE STUDENT(ID NUMBER NOT NULL, NAME VARCHAR)");
2. CallableStatement:
se utiliza cuando desea utilizar los procedimientos almacenados de la base de datos. CallableStatement puede aceptar parámetros de entrada en tiempo de ejecución.
Ejemplo –
//Creating CallableStatement object CallableStatement GFG = con.prepareCall("{call anyProcedure(?, ?, ?)}"); //Use GFG.setter() methods to pass IN parameters //Use GFG.registerOutParameter() method to register OUT parameters //Executing the CallableStatement GFG.execute(); //Use GFG.getter() methods to retrieve the result
Diferencia entre Declaración y CallableStatement:
Declaración | CallableStatement |
---|---|
Se utiliza cuando la consulta SQL debe ejecutarse una sola vez. | Se utiliza cuando se van a ejecutar los procedimientos almacenados. |
No puede pasar los parámetros en tiempo de ejecución. | Puede pasar los parámetros en tiempo de ejecución. |
Se utiliza para instrucciones CREATE, ALTER, DROP. | Se utiliza para ejecutar funciones. |
El rendimiento es muy bajo. | El rendimiento es mejor que la Declaración. |
Se utiliza para ejecutar consultas SQL normales. | Se utiliza para llamar a los procedimientos almacenados. |
Es la interfaz base. | Extiende la interfaz PreparedStatement. |
Se utiliza para declaraciones DDL. | Se utiliza para procedimientos almacenados. |
No podemos usar declaraciones para leer datos binarios. | Podemos usar CallableStatement para leer datos binarios. |
Publicación traducida automáticamente
Artículo escrito por bansal_rtk_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA