Muchas gracias por la ayuda y una disculpa por lo del correo.

Un saludo.



2011/10/11 Alejandro Carrillo <[email protected]>

>
> 1) El bloque si se puede. Igual el trigger debe generar una excepcion y
> luego haces rollback de la transaccion cuando genere un error.
> 2) Por favor escribir unicamente a la lista de email, ya que si se escribe
> al destinatario y a la lista a la vez se tienen 2 correos de la misma
> información. Gracias
>
> ------------------------------
> *De:* Silvio Bravo Cadó <[email protected]>
> *Para:* Alejandro Carrillo <[email protected]>
> *CC:* "[email protected]" <[email protected]>
> *Enviado:* lunes 10 de octubre de 2011 19:30
>
> *Asunto:* Re: [pgsql-es-ayuda] Bloqueo de tablas o transacciones
>
> Creo que lo de la duda del bloque deberia quedar conque pusiera dentro de
> una transaccion todos los inserts de las materias del bloque y listo
> cierto?.
>
> Un saludo.
>
>
> 2011/10/10 Silvio Bravo Cadó <[email protected]>
>
> Muchas gracias por la pronta respuesta, me parece muy buena idea lo del
> trigger, asi queda super bien. Solo me queda una duda y es como sabre que se
> ha llenado el cupo, simplemente porque no se inserto? o tal vez tendria que
> poner un listener para escuchar que hubo algun cupo lleno.
>
> Ahora tengo otro problema, como podria hacer todo esto en un bloque, por
> ejemplo necesito que un bloque de materias se registren pero si una de ese
> bloque llega a cupo limitado se haga un rollback de todo el bloque, se
> podria?
>
>
>
> De antemano muchas gracias.
>
> Un saludo.
>
>
> 2011/10/10 Alejandro Carrillo <[email protected]>
>
>
> Por favor responder si la pregunta solucionó tu inquietud
> ------------------------------
> *De:* Alejandro Carrillo <[email protected]>
> *Para:* Silvio Bravo Cadó <[email protected]>
> *CC:* "[email protected]" <[email protected]>
> *Enviado:* lunes 10 de octubre de 2011 13:34
> *Asunto:* Re: [pgsql-es-ayuda] Bloqueo de tablas o transacciones
>
> Puedes resolverlo con un "tigre", es la solución que dan los motores de bd
> sobre estos casos. Como cosa rara, aqui un ejemplo hecho y probado por mi:
>
> create or replace function fn_datoslimitados() returns trigger as $$
> declare
>     conteousu numeric;
> begin
>     select count(*) into conteousu from public.grupos_usuarios ug where
> ug.codgrupo = new.codgrupo;
>     if conteousu >= 10 then
>         raise 'Datos suficientes';
>     end if;
>     RETURN new;
> end;
> $$
> language plpgsql;
>
> drop TRIGGER trg_nroreg ON public.grupos_usuarios ;
>
> CREATE TRIGGER trg_nroreg AFTER INSERT or UPDATE
> ON public.grupos_usuarios FOR EACH row
> EXECUTE PROCEDURE fn_datoslimitados ();
>
>
> ------------------------------
> *De:* Silvio Bravo Cadó <[email protected]>
> *Para:* postgre sql <[email protected]>
> *Enviado:* lunes 10 de octubre de 2011 11:45
> *Asunto:* [pgsql-es-ayuda] Bloqueo de tablas o transacciones
>
> Saludos lista, nuevamente molestandolos con lo siguiente: estamos
> desarrollando un sistema escolar en el que permitimos la inscripcion de
> alumnos a un grupo en especifico, pero se da el caso que el grupo tien un
> cupo limitado por ejemplo, solo permite 20 o 30 alumnos por grupo, por lo
> que se requiere evitar que un grupo se cargue con mas alumnos del que debe.
> Cabe mencionar que el sistema es web y que los alumnos se inscriben a traves
> del sistema por lo que habra concurrencia de conexion  a la db posiblemente
> intentanto inscribirse al mismo grupo y se tiene que evitar que el grupo se
> sobre sature. Para resolver esto se me ocurrio utilizar lock tables con el
> fin de bloquear la tabla de inscripcion para evitar que un grupo se llene
> con mas de lo debido, pero no se si es la mejor forma de resolverlo, ya que
> imagino tendre problemas de latencia por el caso de que muchos usuarios
> quieran inscribirse y esten bloqueados hasta que se valla desbloqueando la
> tabla, la verdad no he hecho antes nada con lock table y quisiera saber si
> alguien ya ha resuelto algun caso parecido o el mismo.
>
> De antemano muchas gracias.
>
> Un saludo.
>
>
> --
> *
>
>
> Ing. Silvio Bravo Cadó*
> Desarrollo de Software
> *Tlaltek S.A de C.V* <http://tlaltek.com>
> (229) 9 2 1 1 3 2 6 ext. 102.
> Veracruz, México.
>
>
>
>
>
>
>
>
> --
> *
>
>
> Ing. Silvio Bravo Cadó*
> Desarrollo de Software
> *Tlaltek S.A de C.V* <http://tlaltek.com>
> (229) 9 2 1 1 3 2 6 ext. 102.
> Veracruz, México.
>
>
>
>
> --
> *
>
>
> Ing. Silvio Bravo Cadó*
> Desarrollo de Software
> *Tlaltek S.A de C.V* <http://tlaltek.com>
> (229) 9 2 1 1 3 2 6 ext. 102.
> Veracruz, México.
>
>
>
>


-- 
*


Ing. Silvio Bravo Cadó*
Desarrollo de Software
*Tlaltek S.A de C.V* <http://tlaltek.com>
(229) 9 2 1 1 3 2 6 ext. 102.
Veracruz, México.

Responder a