Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* kreirati proceduru kojoj se prosledi mbr radnika i izracuna se prosecna plata u odeljenju u kom on radi
- i za svakog radnika u tom odeljenju se ispise rbr radnika.ime i prezime radnika ima platu
- sl red vecu od prosecne, manju od prosecne, istu kao prosecna.
- na kraju ispisati ukupan br radnika.*/
- if object_id ('MprProcedura', 'P') is not null
- drop procedure MprProcedura;
- go
- create proc MprProcedura
- @mbr as int
- as
- begin
- declare @sifraOdeljenja integer = (select radnik.SODEL from radnik where mbr = @mbr);
- declare @nazivOdeljenja varchar(14) = (select nazod from odeljenje where sodel = @sifraOdeljenja);
- declare @prosecnaPlata numeric = (select avg(plt) from radnik where sodel = @sifraOdeljenja);
- declare @ime varchar(12);
- declare @prezime varchar(24);
- declare @plata numeric;
- declare @redniBroj numeric = 1;
- declare radnik_cursor CURSOR FAST_FORWARD READ_ONLY FOR
- SELECT r.ime, r.prz, r.plt
- FROM radnik r
- where sodel = @sifraOdeljenja;
- OPEN radnik_cursor;
- FETCH NEXT FROM radnik_cursor INTO @ime, @prezime, @plata;
- WHILE @@FETCH_STATUS = 0
- BEGIN
- print cast(@redniBroj as varchar) + '. ' + @ime + ' ' + @prezime + ' radi u odeljenju ' + @nazivOdeljenja + ' i ';
- IF @plata > @prosecnaPlata
- print 'ima platu vecu od prosecne'
- ELSE IF @plata < @prosecnaPlata
- print 'ima platu manju od prosecne'
- ELSE
- print 'ima platu kao prosecna'
- set @redniBroj = @redniBroj + 1;
- FETCH NEXT FROM radnik_cursor INTO @ime, @prezime, @plata;
- END;
- CLOSE radnik_cursor;
- DEALLOCATE radnik_cursor;
- end
- go
- exec MprProcedura 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement