Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

codigo de sql a postgres 8.2

Estas en el tema de codigo de sql a postgres 8.2 en el foro de PostgreSQL en Foros del Web. Buenas, tengo el siguiente inconveniente... aqui esta el codigo en sql el codigo con ":" viene desde aca... receipt_nbr;stock_date;qty_on_hand;unit_price 1;"2006-01-01";15;10.0000 2;"2006-01-02";25;12.0000 3;"2006-01-03";40;13.0000 4;"2006-01-04";35;12.0000 5;"2006-01-05";45;10.0000 Código: ...
  #1 (permalink)  
Antiguo 10/02/2011, 14:12
 
Fecha de Ingreso: septiembre-2009
Mensajes: 15
Antigüedad: 14 años, 6 meses
Puntos: 0
codigo de sql a postgres 8.2

Buenas, tengo el siguiente inconveniente...

aqui esta el codigo en sql

el codigo con ":" viene desde aca...
receipt_nbr;stock_date;qty_on_hand;unit_price
1;"2006-01-01";15;10.0000
2;"2006-01-02";25;12.0000
3;"2006-01-03";40;13.0000
4;"2006-01-04";35;12.0000
5;"2006-01-05";45;10.0000

Código:
CREATE VIEW FIFO (stock_date, unit_price, tot_qty_on_hand,
tot_cost)
AS
SELECT R1.purchase_date, R1.unit_price,
SUM(R2.qty_on_hand), SUM(R2.qty_on_hand * R2.unit_price)
FROM InventoryReceipts AS R1,
InventoryReceipts AS R2
WHERE R2.purchase_date <= R1.purchase_date
GROUP BY R1.purchase_date, R1.unit_price;

y aquie esta le codigo con los ":" que no los reconoce el postgresql 8.2

Código:
SELECT (tot_cost - ((tot_qty_on_hand - :order_qty_on_hand) * unit_price)) AS cost
FROM FIFO AS F1
WHERE stock_date = (SELECT MIN (stock_date)
FROM FIFO AS F2
WHERE tot_qty_on_hand >= :order_qty_on_hand);

como puedo hacer lo mismo que hace hace este ultimo select en postresql 8.2?

Thanks
  #2 (permalink)  
Antiguo 10/02/2011, 14:58
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: codigo de sql a postgres 8.2

Disculpa mi ignorancia, pero qué cosa hacen esos dos puntos ?
__________________
Gracias de todas todas
-----
Linux!
  #3 (permalink)  
Antiguo 10/02/2011, 15:13
 
Fecha de Ingreso: septiembre-2009
Mensajes: 15
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: codigo de sql a postgres 8.2

ese código lo saque de un libro:
"Joe Celko's SQL for Smarties - Advanced SQL Programming"

y sobre los ":" yo tambien me pregunto lo mismo

http://es.wikipedia.org/wiki/PL/SQL

encontre esa referencia pero no coincide exactamente...

EDIT:
tambien encontre esta!!
http://www.exes.es/ManSQL/index.asp?Pg=sql_plsql_12.htm
a ver si con esa me podemos pasar el código a pg8.2

Última edición por Goalfredo; 10/02/2011 a las 15:32
  #4 (permalink)  
Antiguo 11/02/2011, 13:48
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: codigo de sql a postgres 8.2

No entiendo... sí no sabes para qué son esos dos puntos... ¿qué es lo que quieres?
__________________
Gracias de todas todas
-----
Linux!
  #5 (permalink)  
Antiguo 12/02/2011, 08:13
 
Fecha de Ingreso: septiembre-2009
Mensajes: 15
Antigüedad: 14 años, 6 meses
Puntos: 0
Pregunta Respuesta: codigo de sql a postgres 8.2

a ver...
mi pregunta inicial esta en la penúlitma linea del primer post...
(no creo que sea necesario repetirla)
pero para los que no entendieron...

Este... es un CODIGO en SQL en el cual, como pueden ver tiene ":" incluido en el ":order_qty_on_hand"

Código:
SELECT (tot_cost - ((tot_qty_on_hand - :order_qty_on_hand) * unit_price)) AS cost
FROM FIFO AS F1
WHERE stock_date = (SELECT MIN (stock_date)
FROM FIFO AS F2
WHERE tot_qty_on_hand >= :order_qty_on_hand);
...ahora para entender el contexto puse el código en el orden como esta en el primer post, para tratar de deducir lo que hace este último.

Pero como verán el campo "order_qty_on_hand" no existe... y he alli un pequeño problema, ya que no soy un experto en SQL (todavia)

Saludos!
  #6 (permalink)  
Antiguo 14/02/2011, 08:18
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: codigo de sql a postgres 8.2

Las variables precedidas de : se conocen en oracle como variables de host.

Puedes ver aca la teoría.
http://download.oracle.com/docs/cd/B...4dat.htm#27300

En pocs palabras... son variables que pueden ser usadas dentro y fuera de bloques oracle. Tienen la facilidad que pueden llamarse igual al nombre de una columna de la tabla consultada.

En postgresql no conozco que pueda reemplazar esto. Simplemente... quita los dos puntos.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 14/02/2011, 09:24
 
Fecha de Ingreso: septiembre-2009
Mensajes: 15
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: codigo de sql a postgres 8.2

Gracias! tu información me ha sido útil!!

Ahora con estas nuevas ideas seguiré modificando el código,
si logro que funcione lo publicaré!

Saludos

EDIT : hasta el momento no lo puedo hacer con tablas temporales

Última edición por Goalfredo; 14/02/2011 a las 09:32

Etiquetas: sql
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 22:42.