Foros del Web » Programación para mayores de 30 ;) » Java »

Objeto CallableStatement

Estas en el tema de Objeto CallableStatement en el foro de Java en Foros del Web. Buenas tardes. Alguien sabría decirme si el objeto CallableStatement te bloquea la tabla mientras estas ejecutando un procedimiento de la misma? Muchas gracias....
  #1 (permalink)  
Antiguo 13/04/2007, 08:20
 
Fecha de Ingreso: marzo-2006
Mensajes: 31
Antigüedad: 18 años, 1 mes
Puntos: 0
Objeto CallableStatement

Buenas tardes.

Alguien sabría decirme si el objeto CallableStatement te bloquea la tabla mientras estas ejecutando un procedimiento de la misma?

Muchas gracias.
  #2 (permalink)  
Antiguo 13/04/2007, 08:54
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Objeto CallableStatement

Un CallableStatement es para llamar a procedimientos almacenados, no directamente a operaciones sobre tablas, así que...¿Como va a saber él que tabla usas tu desde tu procedimiento?

La responsabilidad de bloquear la tabla es del procedimiento almacenado, en este caso.

Última edición por GreenEyed; 13/04/2007 a las 11:04
  #3 (permalink)  
Antiguo 13/04/2007, 09:27
 
Fecha de Ingreso: marzo-2006
Mensajes: 31
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Objeto CallableStatement

Gracias por tu ayuda GreenEyed. Pero tengo alguna duda mas:

1º) Si yo conozco la tabla del procedimiento al que estoy llamando, ¿porqué no la voy a poder bloquear?

2º) En todo caso, si la responsabilidad de parar la tabla fuera del procedimiento almacenado, ¿como puedo indicar el bloqueo/desbloqueo de la tabla?

Muchas gracias de antemano.
  #4 (permalink)  
Antiguo 13/04/2007, 11:09
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Objeto CallableStatement

1) Tu puede ser que la conozcas, pero el no. Así que el no puede bloquearla, como mucho lo puedes hacer tu, pero no puedes esperar que lo haga el, sobretodo teniendo en cuenta que esa no es su funcion.

2) Depende del lenguaje de procedimientos que uses. En Oracle, por ejemplo, usando PLSQL si abres un cursor con la opcion "for update", entonces bloquea la tabla frente a actualizaciones.

Dado que SQL no tiene opciones "estandar", que yo sepa, para distintos tipos de bloqueos, columnas/filas/tablas completas, entonces JDBC tampoco puede dar un soporte "estandar" para ello. Así que solo queda aprender como lo hace tu BDD para hacerlo "a mano".

Una pena que el SQL no haya estandarizado más cosas, como un lenguaje de procedimientos, pero en este caso la presion de los vendedores es muy fuerte para que no se haga... y tienen mucho peso .

S!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:47.