0

为什么 SQL 不协调 SplitList?

这是我的代码,SQL 不喜欢 SplitList 这个词。

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

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

2 回答 2

3

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

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

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

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

ALTER SCHEMA [NewSchema] TRANSFER dbo.SplitList

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

于 2012-04-17T12:59:01.680 回答
3

没有什么SplitList比 T-SQL 或 ANSI SQL 的内置功能更好的了。

您正在使用的代码示例似乎假设您已经有一个名为SplitList.

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

WHERE FirstName IN (SELECT * FROM dbo.SplitList(@CustomerName, ','))
-- or
WHERE FirstName IN (SELECT * FROM yourschema.SplitList(@CustomerName, ','))
于 2012-04-17T12:52:09.673 回答