Передача оператора select в качестве параметра скалярной функции в SQL - PullRequest
1 голос
/ 10 октября 2011

У меня есть скалярная функция, которая принимает целое число в качестве аргумента и возвращает целое число тоже. Я пытался использовать эту функцию, передав параметр в качестве оператора выбора, который выглядит следующим образом:

select dbo.scalarFunc(select si.ID from table1 si where version = 9)

Это не позволило бы мне сделать это. Я попробовал бросить, но все еще не работал. Может кто-нибудь сказать мне, могу ли я использовать выбор внутри, как это или нет?

1 Ответ

2 голосов
/ 10 октября 2011

Я думаю, что хороший способ написать это:

select dbo.scalarFunc(table1.ID) from table1 where version = 9

А если вы хотите использовать его позже:

select * from table2 where ID = (select dbo.scalarFunc(table1.ID) from table1 where version = 9)
...