CREATE FUNCTION dbo.GetCustomers
(
@ZIPCode VARCHAR(255)
)
RETURNS TABLE
AS BEGIN
SELECT * dbo.GetCustomers
WHERE dbo.GetCustomers.ZIPCODE = ZIPCode
RETURN
END
我不熟悉语法。请帮忙。函数返回表行
CREATE FUNCTION dbo.GetCustomers
(
@ZIPCode VARCHAR(255)
)
RETURNS TABLE
AS BEGIN
SELECT * dbo.GetCustomers
WHERE dbo.GetCustomers.ZIPCODE = ZIPCode
RETURN
END
我不熟悉语法。请帮忙。函数返回表行
这本来是值得猜测的参数@ZIPCode
将进入查询作为@ZIPCode
CREATE FUNCTION dbo.GetCustomers
(
@ZIPCode VARCHAR(255)
)
RETURNS TABLE
AS
RETURN (
SELECT * FROM dbo.Customers
WHERE dbo.Customers.ZIPCODE = @ZIPCode
)
END
你的第一次尝试WHERE dbo.Customers.ZIPCODE = ZIPCode
相同WHERE dbo.Customers.ZIPCODE = dbo.CustomersZIPCode
。也就是说,返回所有行
试试这个
CREATE FUNCTION dbo.GetCustomers (
@ZIPCode VARCHAR(255)
)
RETURNS TABLE
AS return (SELECT * FROM dbo.Customers WHERE dbo.Customers.ZIPCODE = @ZIPCode)
似乎有不被任何好的理由来创建一个函数来做到这一点,当一个正常的存储过程将这样的伎俩。
CREATE PROCEDURE GetCustomers
@ZIPCode VARCHAR(255)
AS
SELECT * FROM dbo.Customers
WHERE Customers.ZIPCODE = @ZIPCode
如果您指出了更改的内容,即'ZIPCode' - >'@ ZIPCode',会有帮助。 –
匿名downvote? – gbn
@gbr即时通讯制作一个正则表达式的搜索模式,并与它进行比较。但我唯一的问题是重演它。我会在我的代码上改变它。 – noname