为什么SQL无法识别拆分列表?
这是我的代码,SQL不喜欢Split List。
消息是“无效的对象名称”
Where FirstName IN (Select * from SplitList(@CustomerName, ','))
答案 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