Как вызвать скалярную функцию в хранимой процедуре - PullRequest
23 голосов
/ 20 апреля 2010

Я ломаю голову над проблемой с этим кодом.

DECLARE @root hierarchyid
DECLARE @lastchild hierarchyid
SELECT @root = NodeHierarchyID FROM NodeHierarchy WHERE ID = 1
SET @lastchild = getlastchild(@root)

Он говорит, что не распознает функцию getlastchild. Что я тут не так делаю?

Ответы [ 4 ]

44 голосов
/ 20 апреля 2010

попробуйте включить идентификатор схемы, как в

@lastchild = dbo.getlastchild(@root)
12 голосов
/ 20 апреля 2010

Используйте

set @lastchild = dbo.getlastchild(@root)

С СОЗДАТЬ ФУНКЦИЮ

Скалярные функции могут быть вызваны где используются скалярные выражения, включая вычисляемые столбцы и CHECK определения ограничений. Когда вызывая скалярные функции, при минимальное использование двухкомпонентного имени функция.

3 голосов
/ 20 апреля 2010

Попробуйте

set @lastchild = dbo.getlastchild(@root)
2 голосов
/ 23 мая 2014

Попробуйте:

SELECT * FROM dbo.function(@parameters) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...