Это моя функция, которая возвращает цену только в Европе
ALTER FUNCTION [prices].[UDF_Fn_IsPriceAvailable]
(@Product NVARCHAR(100),
@Region NVARCHAR(100))
RETURNS NVARCHAR(100)
BEGIN
RETURN
(SELECT ISNULL(PRICE, 0) AS PRICE
FROM [dbo].[tblPricesEurope]
WHERE product = @Product
END
Теперь проблема в том, что моя функция должна возвращать цену в зависимости от региона.
У меня есть две таблицы
- [DBO]. [TblPricesEurope]
- [DBO]. [TblPricesAsia]
Я не очень хорош в своих навыках SQL. Я не могу вернуть цену в зависимости от региона?
Что я пробовал, но я получаю эту ошибку
Последний оператор, включенный в функцию, должен быть оператором возврата.
ALTER FUNCTION [prices].[UDF_Fn_IsPriceAvailable]
(@Product NVARCHAR(100),
@Region NVARCHAR(100))
RETURNS NVARCHAR(100)
BEGIN
IF (@Region = 'Europe')
BEGIN
RETURN
(SELECT ISNULL(PRICE, 0) AS PRICE
FROM [dbo].[tblPricesEurope]
WHERE product = @Product)
END
ELSE IF (@Region = 'Asia')
BEGIN
RETURN
(SELECT ISNULL(India,0) AS PRICE
FROM [dbo].[tblPricesAsia]
WHERE product = @Product)
END
END