GW - Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Техническая поддержка » Форум » GW
GW
vadimyanДата: Пятница, 2009.11.27, 00:59 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 28
Репутация: 2
Статус: Offline
Code
CREATE PROCEDURE Accordance3 AS
DECLARE checking CURSOR FOR
SELECT Departament.Departament, COUNT(Id) AS all_count, SUM(Payment) AS total_pay
FROM Departament left join Workers on Workers.Departament=Departament.Departament
GROUP BY Departament.Departament;

OPEN checking;

DECLARE @workers int,
@payment real,
@dep int

FETCH NEXT FROM checking INTO @dep, @workers, @payment
IF(ISNULL(@payment, 0) = 0)
{
@payment = 0;
}
IF( @workers != (SELECT TotalWorkers FROM Departament WHERE Departament = @dep) )
BEGIN
UPDATE Departament
SET TotalWorkers = @workers,
TotalPayment = @payment
WHERE Departament = @dep;
END

WHILE( @@FETCH_STATUS = 0 )
BEGIN
FETCH NEXT FROM checking INTO @dep, @workers, @payment
IF( @workers != (SELECT TotalWorkers FROM Departament WHERE Departament = @dep) )
BEGIN
UPDATE Departament
SET TotalWorkers = @workers,
TotalPayment = @payment
WHERE Departament = @dep;
END
END
CLOSE checking
DEALLOCATE checking
GO


Omnia vincit amor et nos cedamus amori
 
vadimyanДата: Пятница, 2009.11.27, 01:01 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 28
Репутация: 2
Статус: Offline
Да что такое, опять табуляция полетела

Omnia vincit amor et nos cedamus amori
 
Форум » Техническая поддержка » Форум » GW
Страница 1 из 11
Поиск:

Хостинг от uCoz