0

SQL が SplitList を調整しないのはなぜですか?

これは私のコードであり、SQL は SplitList という言葉が好きではありません。

メッセージは「無効なオブジェクト名です」

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

2 に答える 2

3

SplitListが明示的なスキーマのないテーブル値関数である場合は、次のように呼び出します。

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

dboスキーマが指定されていない場合、SQLServerはデフォルトのスキーマであると想定します。

ちなみに、データベースオブジェクトのスキーマは次のように変更できます。

ALTER SCHEMA [NewSchema] TRANSFER dbo.SplitList

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

于 2012-04-17T12:59:01.680 に答える
3

SplitListT-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 に答える