Way for moving stored procedure from Firebird to SQL Server -


i have working sp on firebird , can'not find way translate code ms sql server sp

here code:

i have 1 table data from. 1 fields called "iznos" data summary , 1 field recognite diference summary category

create or alter procedure some_procedure (         b_date date,         e_date date)    returns(         dat date,         value1 decimal(18,2),         value2 decimal(18,2),         value3 (18,2))      begin              select gk.date       gk                gk.date between :b_date , :e_date       group 1       :dat             begin           /* value 1 */           select sum(iznos) gk gk.category=1 , gk.datum=:dat           :value1;           /* value 2 */           select sum(iznos) gk gk.category=2 , gk.datum=:dat           :value2;           /* value 3 */           select sum(iznos) gk gk.category=3 , gk.datum=:dat           :value3;           suspend;       end   end   

you can solve using pivot:

select datum, [1] value1, [2] value2, [3] value3 (     select datum, category, iznos      gk      datum between @b_date , @e_date  ) src pivot (     sum(src.iznos)     src.category in ([1], [2], [3]) ) pvt 

this doesn't have exact same effect firebird stored procedure though, because returning row each row in gk. if want have exact same result, may have join gk above query.

if intend use stored procedure in select (which possible in firebird, not in sql server), need convert table-valued user-defined function.

you create view instead. in case where clause need removed.

small example in tsql:

create table #example (    datum date,    category int,    val int );  insert #example(datum, category, val) values     ('2015-07-24', 1, 1),     ('2015-07-24', 2, 1),     ('2015-07-24', 3, 1),     ('2015-07-24', 1, 1),     ('2015-07-24', 2, 1),     ('2015-07-25', 3, 1);  select datum, [1] value1, [2] value2, [3] value3 (     select datum, category, val      #example  ) src pivot (     sum(src.val)     src.category in ([1], [2], [3]) ) pvt;  drop table #example; 

Comments

Popular posts from this blog

python - pip install -U PySide error -

arrays - C++ error: a brace-enclosed initializer is not allowed here before ‘{’ token -

cytoscape.js - How to add nodes to Dagre layout with Cytoscape -