El tema es que tengo procedimientos y funciones en postgress(el cual nunca eh usado), y las necesito migrar a sql server 2008 el cual tampoco había usado para pl/sql, me ayudaria mucho si me pudieran cooperar con este asunto, desde ya gracias...
P.D: la version del postgress es 8.4.
Código SQL:
Ver original
-- Function: tablastemporales.reporte_total(refcursor, character) -- DROP FUNCTION tablastemporales.reporte_total(refcursor, character); CREATE OR REPLACE FUNCTION tablastemporales.reporte_total(pref refcursor, pnumot CHARACTER) RETURNS refcursor AS $BODY$BEGIN OPEN PREF FOR SELECT ot.numot, ot.descripcion, ot.gastosgenerales, ot.utilidad, ot.totalhh AS inyeccionhh, hh.gastadashh, ot.totalhh - hh.gastadashh AS quedanhh, ot.valorcompras AS inyeccioncompras, compras.gastadascompras, ot.valorcompras - compras.gastadascompras AS quedancompras, ot.valormanoobra AS inyeccionvalormanoobra, manoobra.gastadasvalormanoobra, ot.valormanoobra - manoobra.gastadasvalormanoobra AS quedanvalormanoobra FROM ot LEFT JOIN ( SELECT round(COALESCE(SUM(horatrato+horanormal+horaextra),0)) AS gastadashh,numot FROM public.detallehora GROUP BY numot ) AS hh ON( hh.numot=ot.numot ) LEFT JOIN ( SELECT round(COALESCE(SUM(precioventa*cantidad),0)) AS gastadascompras,oc.numot FROM controlbodegacompras.detalleoc,controlbodegacompras.oc WHERE detalleoc.idoc = oc.idoc AND estado_oc=1 AND sw_cargada_a_ot=1 GROUP BY oc.numot ) AS compras ON( compras.numot=ot.numot ), ( SELECT frmvalorizacionhh AS gastadasvalormanoobra FROM presupuestos.frmvalorizacionhh(pnumot) ) AS manoobra WHERE ot.numot=pnumot; RETURN PREF; END;$BODY$ LANGUAGE 'plpgsql' VOLATILE COST 100; ALTER FUNCTION tablastemporales.reporte_total(refcursor, CHARACTER) OWNER TO postgres;