• Domingo 28 de Abril de 2024, 07:43

Autor Tema:  Sinonimo de funcion Postgresql  (Leído 2423 veces)

pedroqv

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Sinonimo de funcion Postgresql
« en: Domingo 18 de Julio de 2010, 00:26 »
0
Tengo esta funcion en postgresql pero me gustaria verla reflejada en sql y la funcion es la siguiente:

Código: SQL
  1. CREATE OR REPLACE FUNCTION Pedro_ResolverDImg0(INTEGER)
  2. RETURNS INTEGER AS
  3. $BODY$
  4.  
  5. DECLARE    
  6.     limite ALIAS FOR $1;
  7.     rec RECORD;
  8. BEGIN      
  9.     FOR rec IN SELECT c.folio, c.empcapturo, c.promotortitular, fxp.claveconsar FROM colsolicitudes c INNER JOIN colpromotor p ON c.folio=p.folio
  10.            INNER JOIN colpromotortitular pt ON p.folio=pt.folio INNER JOIN colinfxpromotores fxp ON p.empnomina=fxp.empleado
  11.            WHERE c.promotortitular=0 LIMIT limite
  12.     LOOP           
  13.         UPDATE colpromotor SET claveconsar=rec.claveconsar, empnomina=rec.empcapturo WHERE folio=rec.folio;
  14.         DELETE FROM colpromotortitular WHERE folio=rec.folio;              
  15.     END LOOP;
  16.  
  17.     RETURN 1;
  18. END;
  19. $BODY$
  20.   LANGUAGE 'plpgsql' VOLATILE;
  21.  

Funcionalidad: en una variable tipo record almacena la primera consulta, luego la funcionalidad de LOOP es recorrer cada registro de rec y usarla para insertar en una tabla y eliminar en otra tabla, en base a cada registro de la primer consulta almacenada en rec

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Sinonimo de funcion Postgresql
« Respuesta #1 en: Domingo 18 de Julio de 2010, 21:28 »
0
deberias de explicarnos con tablas y que es lo que debe hacer la funcion.

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================