我创建了函数和新类型来保存我的表,但现在我得到了错误
操作数类型冲突:nchar 与 TableArgId 不兼容
我正在使用罗斯文数据库。
我的代码如下。
USE Northwind
CREATE TYPE TableArgId
AS TABLE
( ID NVARCHAR(16));
GO
CREATE or ALTER FUNCTION MyFunc
(
@clientid TableArgId READONLY
)
RETURNS @tablica TABLE(
CustomerID NVARCHAR(16),
Category_ID INT,
Category_Name NVARCHAR(128)
)
AS
BEGIN
INSERt INTO @tablica
SELECT
CustomerID,
B.CategoryID,
C.CategoryName
FROM
@clientid AS TabID LEFT JOIN
Invoices AS A ON TabID.ID = CustomerID
left join Products AS B ON A.ProductID=B.ProductID
left join Categories AS C ON B.CategoryID=C.CategoryID;
RETURN
END
GO
SELECT * FROM MyFunc((SELECT CustomerID FROM Invoices WHERE CustomerID = 'QUEEN'));
我可以设置 SELECT 返回的类型吗?