randoz

p3

May 12th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 0.86 KB | None | 0 0
  1. DROP FUNCTION dbo.ganancias
  2. CREATE FUNCTION dbo.ganancias(@agency integer)
  3.  
  4. RETURNS integer
  5. AS
  6.     BEGIN
  7.         DECLARE @ac integer
  8.         DECLARE @am integer
  9.         SET @am = 0
  10.         DECLARE db_cursor CURSOR FOR  
  11.             SELECT p.amount
  12.             FROM agency a, collection c, collection_cloths cc, cloth ct, clothunit cu, sale s, sale_cloth sc, payment p
  13.             WHERE a.id=c.agency_id AND
  14.                   c.id=cc.collection_id AND
  15.                   ct.id=cc.cloth_id AND
  16.                   ct.id=cu.cloth_id AND
  17.                   s.id=sc.sale_id AND
  18.                   sc.clothunit_id=cu.id AND
  19.                   s.payment_id=p.id
  20.                  
  21.  
  22.         OPEN db_cursor  
  23.         FETCH NEXT FROM db_cursor INTO @ac  
  24.  
  25.         WHILE @@FETCH_STATUS = 0  
  26.         BEGIN  
  27.             SET @am = @am + @ac
  28.             FETCH NEXT FROM db_cursor INTO @ac  
  29.         END  
  30.  
  31.         CLOSE db_cursor  
  32.         DEALLOCATE db_cursor
  33.      
  34.    RETURN @am
  35.    END
  36.    
  37.  
  38. SELECT name, dbo.ganancias(id) FROM agency;
Advertisement
Add Comment
Please, Sign In to add comment