Я выполняю задание tSQL
, и одно из требований состоит в том, чтобы проверить, существует ли введенный charity ID
, и, если не вернуть ошибку, тогда я должен проверить, если Tax Date
благотворительной организации находится в текущем году. Это то, что я пробовал
IF NOT EXISTS (SELECT CharityID FROM CharityTbl WHERE [CharityID] = '@CharityID')
begin
raiserror ('Sorry Invalid Charity ID', 16,1)
return 99
end
--if the TaxNoDateOfIssue for the charitytbl is not in the current year raise an error
IF NOT Exists (Select TaxNoDateOfIssue FROM CharityTbl WHERE YEAR(TaxNoDateOfIssue) = YEAR(getdate())
Я не уверен, как мне написать второй оператор if, чтобы любая помощь была оценена по достоинству
2 ответа
Вам просто нужно добавить предложение where в тот же запрос. См. Ниже запрос.
IF NOT EXISTS (SELECT CharityID FROM CharityTbl WHERE [CharityID] = '@CharityID' or YEAR(TaxNoDateOfIssue) = YEAR(getdate())
begin
raiserror ('Sorry Invalid Charity ID', 16,1)
return 99
end
Я надеюсь, что это именно то, что вы ожидаете.
IF EXISTS (SELECT CharityID FROM CharityTbl WHERE [CharityID] = '@CharityID') -- fist condition
BEGIN
IF NOT Exists (Select TaxNoDateOfIssue FROM CharityTbl WHERE YEAR(TaxNoDateOfIssue) = YEAR(getdate()) -- second condition if 1st success
BEGIN
RAISERROR('Sorry Invalid Tax Year', 16,1)
RETURN 99
END
END
ELSE
BEGIN
RAISERROR('Sorry Invalid Charity ID', 16,1) -- if 1st fails
RETURN 99
END
Похожие вопросы
Новые вопросы
sql
Язык структурированных запросов (SQL) - это язык запросов к базам данных. Вопросы должны включать примеры кода, структуру таблицы, примеры данных и тег для используемой реализации СУБД (например, MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 и т. Д.). Если ваш вопрос относится исключительно к конкретной СУБД (использует определенные расширения / функции), используйте вместо этого тег этой СУБД. Ответы на вопросы, помеченные SQL, должны использовать стандарт ISO / IEC SQL.