Задание 15
Выдать
статистику по специальностям и учебным
заведениям вашего государства. Отчет
должен начинаться с заголовка и цифры
- общего количества записей по запросу.
Далее совокупность таблиц, где каждая
таблица начинается с заголовка:
СПЕЦИАЛЬНОСТЬ <шифр> - ВСЕГО <цифра>,
не равная нулю, а заканчивается перечнем
названий учебных заведений с цифрами,
не равными нулю.
create
procedure
zapr8_15 as
declare
@yz char
(25)
declare
@sp char(16)
declare
@it1 int
declare
@it2 int
declare
@itall int
declare
@sp1 char
(16)
declare
y cursor
for
select
spec,
vuz.uch_zavedenie,
count
(*)
from
azer
join
vuz on
vuz_k =
vuz.cod
group
by
spec,
vuz.uch_zavedenie
select
@it2=0
select
@itall=0
open
y
fetch
y into
@sp,
@yz,
@it1
if
(@@fetch_status=-2)
begin
print
'Ошибка
при выполнении первого FETCH'
close
y
return
end
if
(@@fetch_status=-1)
begin
print
'Данные
не найдены'
close
y
return
end
select
@sp1=@sp
print
@yz+'
- '+str(@it1,
4)
select
@it2=@it2+@it1
select
@itall=@itall+@it1
while
(@@fetch_status=0)
begin
fetch
y into
@sp,
@yz,
@it1
if
(@sp1
!=
@sp)
begin
print
'Специальность
'
+
@sp1 +
'
- '
+str(@it2,
4)
select
@sp1=@sp
select
@it2=0
end
if
(@@fetch_status=-1)
break
print
@yz+'
- '+str(@it1,
4)
select
@it2=@it2+@it1
select
@itall=@itall+@it1
end
close
y
if
(@@fetch_status=-2)
begin
print
'Ошибка
при выполнении первого FETCH'
return
end
print
'Специальность
'
+
@sp +
'
- '
+
str(@it2,
4)
print
'____________________________________________________'
print
'Всего-
'+str(@itall,
4)
deallocate
y
return