返回函数中的表行

non*_*ame 0 t-sql sql-server

CREATE FUNCTION dbo.GetCustomers
(
  @ZIPCode VARCHAR(255)
)
RETURNS TABLE

AS BEGIN
SELECT * dbo.GetCustomers
WHERE dbo.GetCustomers.ZIPCODE = ZIPCode 
RETURN
END
Run Code Online (Sandbox Code Playgroud)

我不熟悉语法.请帮忙.

gbn*_*gbn 7

值得猜测的是,参数@ZIPCode将作为查询进入查询@ZIPCode

CREATE FUNCTION dbo.GetCustomers
(
  @ZIPCode VARCHAR(255)
)
RETURNS TABLE

AS
RETURN (
    SELECT * FROM dbo.Customers
    WHERE dbo.Customers.ZIPCODE = @ZIPCode
    )
END
Run Code Online (Sandbox Code Playgroud)

你的第一次尝试WHERE dbo.Customers.ZIPCODE = ZIPCode是一样的WHERE dbo.Customers.ZIPCODE = dbo.CustomersZIPCode.也就是说,返回所有行