2017-06-07 1 views
1

Ich habe ein Verfahren mit date_parameter wie unten auszuführen:Wie Oracle (TOAD) Prozedur in SQL Server Report Builder mit date_parameter

CREATE OR REPLACE PROCEDURE R_T.Test1 (
Test1 IN OUT Reports.rep_type, 
date_parameter IN system_days.daytime%TYPE) 
AS 
BEGIN 
OPEN Test1 FOR 
select * from 
(select 
     sum(max(case when code = 'C3_TOTAL_PROD' then NET_MASS_MTD_MTON else null end)) C3_TOTAL_PROD_MTD_MASS_S1, 
     sum(max(case when code = 'C4_TOTAL_PROD' then NET_MASS_MTD_MTON else null end)) C4_TOTAL_PROD_MTD_MASS_S1, 
     sum(max(case when code = 'S_TOTAL_PROD' then NET_MASS_MTD_MTON else null end)) S_TOTAL_PROD_MTD_MASS_S1 
    from MV_D_MAS 
    where production_day between trunc(Date_Parameter, 'YEAR') 
      and LAST_DAY(date_parameter) 
    group by production_day 
) a; 
END; 

Jetzt habe ich dies in SQL Server Report Builder verwenden müssen. Ich habe die Prozedur aufgerufen als:

declare 
res_cur r_t.Reports.rep_type; 
begin 
r_t.Test1(res_cur, Date '2017-03-22'); 
end; 

Aber dies gibt nicht Ergebnismenge.

Ich brauche etwas, ähnlich wie SQL-Abfrage:

EXECUTE db.spTestSSRS2 @InputDate 

Bitte helfen. Vielen Dank.

Antwort

0

Unter der Annahme, r_t.Reports.rep_type ist ein ref Cursor Sie es wie folgt ausführen:

begin 
    r_t.Test1(:rc, Date '2017-03-22'); 
end; 

TOAD ein Eigenschaftenfenster öffnet sich, Sie fragen einen Wert für den :rc Parameter zur Verfügung zu stellen. Wählen Sie den Datentyp cursor. Wenn Ihre Prozedur abgeschlossen ist, können Sie die Ausgabe auf der Registerkarte Datenraster anzeigen.

+0

Großartig, danke für dieses. Aber ich muss es in SQL Server Report Builder sein. Wie rufe ich auf, damit date_parameter angefordert wird und Ergebnisse angezeigt werden. – CODECO

Verwandte Themen