Te damos la bienvenida a nuestra página, ahora vas a hallar la resolución de lo que necesitas.
Solución:
punto y coma indica el final de una declaración, por lo que si hay varias declaraciones, debe usar punto y coma; de lo contrario, funcionará bien.
Generalmente uso punto y coma como práctica, puede ser útil incluso cuando está ejecutando consultas en el cliente sql, por ejemplo, en Sql Developer usar punto y coma es muy útil si tiene varias declaraciones en la hoja de trabajo, ya que simplemente puede ir a esa declaración en particular y usar F9 para ejecutar eso, sin punto y coma esto no es posible.
No es obligatorio si ejecuta una sola consulta a la vez, sino que es necesario si desea ejecutar varias consultas con un solo comando.
Sin embargo, en la mayoría de los controladores JDBC que existen, no es posible agregar múltiples consultas separadas por punto y coma en un solo comando JDBC; sin embargo, existe el método addBatch que le permite agregar múltiples declaraciones:
java.sql.Statement stmt=con.createStatement();
stmt.addBatch(insert_query1); //insert_query1
stmt.addBatch(insert_query2); //insert_query2
Como regla general, en JDBC, el punto y coma no es necesario en absoluto, si necesita usar varias declaraciones addBatch
.
Por lo general, el punto y coma no forma parte de la sintaxis real de una declaración (ya que la mayoría de las API internas de la base de datos ejecutan una sola declaración a la vez). En cambio, el punto y coma es un marcador de “final de declaración” o un separador de declaración que, por lo general, se define en la CLI o en las herramientas de secuencias de comandos para la base de datos. Esto permite que esa herramienta sepa cuándo finaliza una declaración, por lo que puede enviar esa única declaración a la base de datos para su ejecución.
Por otro lado, la API de JDBC está diseñada para ejecutar una declaración única (!) a la vez, por lo tanto, no necesita dicho separador (la declaración es todo el string). Esto significa que no se necesita un punto y coma, y como no es parte de la sintaxis de sentencia real para muchas bases de datos, también es un error de sintaxis incluirlo. Algunos controladores JDBC quitarán el último ;
de una declaración para ‘arreglar’ eso, algunos controladores no lo hacen.
Algunos controladores permiten, contrariamente a la especificación JDBC, que se ejecuten varias declaraciones como una sola. stringesto generalmente tiene que habilitarse con una propiedad de conexión, por ejemplo, para MySQL es la opción allowMultiQueries
(ver las propiedades de MySQL para más detalles).
Valoraciones y reseñas
Si para ti ha sido de ayuda este post, te agradeceríamos que lo compartas con más desarrolladores y nos ayudes a difundir nuestra información.