Задание 7
Выдать
статистику по выпуску 1994 года вашего
государства по всем учебным заведениям
и категориям обучения. Отчет должен
начинаться с заголовка и цифры -
общего количества записей по запросу
(выпуску 1994 г.). Далее перечень таблиц,
где каждая таблица начинается с
заголовка: <название учебного заведения>
- <цифра>, не равная нулю, а заканчивается
перечнем категорий обучения с цифрами,
не равными нулю.
alter
procedure
zapr87(@Year
char(2))
as
declare
@v1 char(20)
declare
@v2 char(20)
declare
@ko char(25)
declare
@it1 integer
declare
@it2 integer
declare
@itall integer
declare
hcur cursor
for
select
nazvanie_vuza,kat_obucheniya,
count(*)
from
mold join
vuz_gorod on
vuz_k=vuz_gorod.cod_vuza
join
kat_obuch on
kat_obuch_k=kat_obuch.cod
where
gok=@Year
group
by
nazvanie_vuza,kat_obucheniya
order
by
nazvanie_vuza
select
@it2=0
select
@itall=0
open
hcur
fetch
hcur into
@v1,@ko,@it1
if
(@@fetch_status=-2)
begin
print
'Ошибка
при выполнении первого FETCH'
close
hcur
return
end
if
(@@fetch_status=-1)
begin
print
'Данные
неверны'
close
hcur
return
end
select
@v2=@v1
print
@ko+'-'+str(@it1)
select
@it2=@it2+@it1
select
@itall=@itall+@it1
while
(@@fetch_status=0)
begin
fetch
hcur into
@v1,
@ko,
@it1
if
(@v1!=@v2)
begin
print
'учебное
заведение '+@v2+'-'+
str(@it2)
print
'
'
select
@v2=@v1
select
@it2=0
end
if
(@@fetch_status=-1)
break
print
@ko +
'
- '
+str(@it1)
select
@it2=@it2+@it1
select
@itall=@itall+@it1
end
close
hcur
if
(@@fetch_status=-2)
begin
print
'Ошибка
при выполнении FETCH'
return
end
print
'учебное
заведение '
+
@v1 +
'
- '
+str(@it2)
print
'
'
print
'всего
по запросу-'+str(@itall)
deallocate
hcur
return