Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не могу придумать как передать параметр / 6 сообщений из 6, страница 1 из 1
28.02.2001, 15:15
    #32002606
DmitryGolubev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу придумать как передать параметр
HI

Есть такой запрос
SELECT
*
FROM
tbProductsGroups as PG
WHERE
PG.ID IN ( SELECT ID FROM fncListParentGroups( PG.GroupID ) )

при исполнении выдает, ругается:
Incorrect syntax near '.' проблем в PG.GroupID

,если из PG.GroupID делаю GroupID
ругается:
'GroupID' is not a recognized OPTIMIZER LOCK HINTS option.

Я предполагаю, что он не может передать в функцию значение поля, то есть видимо надо сначала значение записать в какую то переменную, а только потом передать в функцию
Предложите какое нибудь решение

Спасибо
...
Рейтинг: 0 / 0
28.02.2001, 19:33
    #32002626
Alexander Rudenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу придумать как передать параметр
А что функция делает? Может можно просто обойтись вложенным запросом?
...
Рейтинг: 0 / 0
28.02.2001, 21:40
    #32002636
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу придумать как передать параметр
К имени функции нужно добавить DBO (или кто там ее создатель). Опускать владельца функции запрещено:
...WHERE
PG.ID IN ( SELECT ID FROM dbo.fncListParentGroups( PG.GroupID ) )
...
Рейтинг: 0 / 0
28.02.2001, 23:01
    #32002642
Dmitry+Golubev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу придумать как передать параметр
Тело функции такое

RETURNS @LstGroups TABLE
( GroupID int PRIMARY KEY )
AS
BEGIN
DECLARE @ParentID int

WHILE ( @ParentID != 0 )
BEGIN
SELECT
@GroupID = GroupID
, @ParentID = ParentID
FROM
tbProductsGroups
WHERE
GroupID = @GroupID

INSERT @LstGroups VALUES ( @GroupID )

END

RETURN
END
GO

Насчет владельца опускать можно, но пробовал и так тоже не получается

Спасибо за поддержку
...
Рейтинг: 0 / 0
01.03.2001, 22:26
    #32002668
Fompro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу придумать как передать параметр
Invoking User-Defined Functions That Return a Table Data Type:
When a user-defined function that returns a table is invoked in the FROM clause of a subquery, the function arguments cannot reference any columns from the outer query.
...
Рейтинг: 0 / 0
05.03.2001, 17:36
    #32002757
Alexch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу придумать как передать параметр
1. В подзапросе FROM объвляет исходную таблицу, откуда идет выборка,
поэтому я всегда по своему их именую.
Получится следующее: ( SELECT aa.ID FROM fncListParentGroups( PG.GroupID ) as aa )

2. Из функции я не увидел, что возвращается поле с именем ID
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не могу придумать как передать параметр / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]