Create function getbyID ( @id int )
Returns table
as
return(
select * from Products where
ProductID=@id+10)
上面的函数返回产品 ID 大于 10 的所有产品记录。
当与 CROSS APPLY 一起使用时,如下所示
select o.* from [Order Details] o
CROSS APPLY getbyID(o.ProductID) P
我得到的结果是一些小于 10 的产品 ID,这是不可能的。
该示例使用随处可用的 NORTWIND 数据库示例。
ORDER DETAILS 表和 PRODCUTS 表由 ProductID 链接
Select* from getbyID (1) gives result below
当 UDF 被调用(如上)结果显示一些 productID < 10
你能看到错误在哪里吗?