• Lunes 18 de Noviembre de 2024, 23:18

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - krsg

Páginas: [1]
1
PostgreSQL / CURSOR CON INSERT
« en: Jueves 7 de Julio de 2011, 17:19 »
Hola a todos!! tengo un problema quiero crear un cursor que seleccione de mi tabla Temp_orders aquellas filas que tengan el campo state='F'
despues deseo recorrer el cursor fila por fila e insertar cada fila en una tabla Layers pero no me funciona ell codigo q les dejo abajo.... que esta mal??

Gracias de antemano

Código: SQL
  1.  
  2. CREATE OR REPLACE FUNCTION sp_test() RETURNS VOID AS
  3. $BODY$
  4.     DECLARE
  5.     or_nbr VARCHAR(36) ;
  6.     symb VARCHAR(16);
  7.     or_action VARCHAR(2);
  8.     shar INT;
  9.     price NUMERIC(13,6);
  10.     st CHAR(1);
  11.     event_tim VARCHAR(30);
  12.     tra_id VARCHAR(16);
  13.     market VARCHAR(10);  
  14.     cursX CURSOR FOR SELECT * FROM Temp_orders WHERE state='F';
  15. BEGIN
  16.     OPEN cursX ;
  17.     Loop
  18.         FETCH cursX INTO or_nbr,symb,or_action,shar, price, st, event_tim, tra_id, market;    
  19.         INSERT INTO Layers(order_nbr,symbol,orden_action, shares,order_price,state ,event_time, trader_id, market_id)
  20.         VALUES (or_nbr,symb,or_action,shar, price, st, event_tim, tra_id, market) ;
  21.     END LOOP;
  22.     CLOSE cursX;
  23. END;
  24. $BODY$  LANGUAGE 'plpgsql' VOLATILE;
  25.  
  26. ALTER FUNCTION sp_test() OWNER TO postgres;
  27.  
  28. SELECT * FROM sp_test();
  29.  

Páginas: [1]