SQL不喜欢SplitList这个词

时间:2012-04-17 12:49:42

标签: sql sql-server

为什么SQL无法识别拆分列表?

这是我的代码,SQL不喜欢Split List。

消息是“无效的对象名称”

Where FirstName IN (Select * from SplitList(@CustomerName, ','))

2 个答案:

答案 0 :(得分:3)

T-SQL或ANSI SQL没有内置SplitList

您正在使用的代码示例似乎假设您已经拥有一个名为SplitList的用户定义函数。

如果你已经有了一个用户定义的SplitList函数,那么你可能只需要在调用它时指定它的模式:

WHERE FirstName IN (SELECT * FROM dbo.SplitList(@CustomerName, ','))
-- or
WHERE FirstName IN (SELECT * FROM yourschema.SplitList(@CustomerName, ','))

答案 1 :(得分:3)

如果SplitList是没有explit架构的表值函数,请以这种方式调用它:

Select * from dbo.SplitList(@CustomerName, ',')

如果未提供架构,SQL Server将假定dbo是默认架构。

顺便说一句,您可以通过以下方式更改数据库对象的架构:

ALTER SCHEMA [NewSchema] TRANSFER dbo.SplitList

http://msdn.microsoft.com/en-us/library/ms173423.aspx