Я пытаюсь создать хранимую процедуру, которая указывает повышение зарплаты для двух типов сотрудников. Те, у кого выше среднего зарплаты, и те, у кого средняя зарплата ниже средней. И fnHeadCount, и fnAverageSalary - это функции, которые я создал, которые работают и работали в прошлом. Я получаю ошибку со второй частью. В нем указан неправильный синтаксис для знака равенства и 1.4075.«Некорректный синтаксис рядом ...» SQL Stored Proc
Вот код. Я сделал ошибки смелые:
CREATE PROC RAISEA9
BEGIN
UPDATE tblEmployeeA9
SET AnnualSalary=ROUND(1.025*AnnualSalary,2)
SELECT dbo.fnHeadCount(JobTitle)
FROM dbo.tblEmployeeA9
WHERE Active='Y'
HAVING (dbo.fnHeadCount(JobTitle)-1 >=2) AND (AnnualSalary > dbo.fnAverageSalary(JobTitle))
END
BEGIN
SET AnnualSalary=ROUND(1.0475*AnnualSalary,2)
SELECT dbo.fnHeadCount(JobTitle)
FROM dbo.tblEmployeeA9
WHERE Active='Y'
HAVING (dbo.fnHeadCount(JobTitle)-1 >=2) AND (AnnualSalary <= dbo.fnAverageSalary(JobTitle))
END
Я предполагаю, что это SQL-сервер в 'dbo.', но было бы лучше, если бы вы добавили тег с СУБД вы используете (и конкретную версию). –
Я использую Microsoft SQL Server Management Studio. 2000, я считаю. Я не получаю сообщение об ошибке для первой части, но вторая часть на SET, ошибка с равными знаками говорит «Неверный синтаксис рядом с« = », а в 1.0475« Неверный синтаксис рядом с «1.0475». Ожидая SELECT или '(' « – Kendall