Я пытаюсь создать функцию T-SQL из Northwind для возврата новой таблицы, которая будет содержать ProductID, ProductName, UnitsInStock и новый столбец, указывающий, больше ли UnitsInStock, чем параметр функции.
Пример: Давайте иметь таблицу из 2 продуктов.Первая имеет 10 единиц на складе, вторая имеет 5. Поэтому функция с параметром 6 должна вернуть:
1, Product1, 10, YES
2, Product2, 5, NO
Вот мой неработающий программный софар: (
CREATE FUNCTION dbo.ProductsReorder
(
@minValue int
)
RETURNS @tabvar TABLE (int _ProductID, nvarchar _ProductName, int _UnitsInStock, nvarchar _Reorder)
AS
BEGIN
INSERT INTO @tabvar
SELECT ProductID, ProductName, UnitsInStock, Reorder =
CASE
WHEN UnitsInStock > @minValue THEN "YES"
ELSE "NO"
END
FROM Products
RETURN
END
T-SQL дает мне этот не очень полезный ответ: " Столбец, параметр или переменная # 1: не удается найти тип данных _ProductID ". Я погуглил, но нашел для такого результата несколько разных проблем.
Я не знаю, хорошо ли здесь использовать CASE, у меня есть немного фона Oracle, и функция декодирования отлично подходит для этих проблем.