Ciao a tutti,
avrei bisogno di un aiuto su come creare ad hoc una function in oracle...vi spiego:
questa funzione accetta come parametri
1 - dalla data
2 - alla data
3 - codice articolo
4 - magazzino
CREATE OR REPLACE FUNCTION "EXPLORER"."QTA_MAG"( DTIN IN CHAR, DTFI IN CHAR, REFE IN CHAR, MAG IN varchar2)
RETURN NUMBER
IS TQTA NUMBER(11,2);
BEGIN
SELECT
SUM(C_ENTRATO_QTA)
INTO TQTA
FROM
ST_COMM_GIORN
WHERE
C_DATA BETWEEN QTA_MAG.DTIN AND QTA_MAG.DTFI AND
C_FLG_FLUSSO='MOV' AND
C_REFERENZA=QTA_MAG.REFE AND
C_CDC_MAG IN (QTA_MAG.MAG);
RETURN(TQTA);
END;
quindi:
SELECT QTA_MAG('2009-02-01','2009-02-28','102300','20') AS TQTA FROM DUAL
TQTA
-------
506
...ma se volessi il totale passando più di un magazzino, una cosa tipo:
MAG = '20','22','24'....etc
come devo strutturare la function ? ...perchè se gli passo il parametro così, oracle lo interpreta come valore da passare alla IN e non come stringa per comporla...
non ho molta dimestichezza...penso si deduca.
potete aiutarmi ?
Grazie e ciao
Andrea