Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Фунция с условием  [new]
maximIZ
Member

Откуда: Спб
Сообщений: 634
Здравствуйте. есть такая функция
ALTER FUNCTION dbo.fncRepMonthUnion
(@God int,
@BudjetID int,
@PodrList ntext)

RETURNS TABLE
AS


RETURN(
		SELECT * FROM dbo.fncRepMonth(@God, @BudjetID, @PodrList) fncRepMonth
		union all
		SELECT * FROM dbo.fncRepMonthDoc(@God, @BudjetID, @PodrList) fncRepMonthDoc
)

все работает нормально, появилась необходимость разместить здесь условие. Должно получится что то вроде:
ALTER FUNCTION dbo.fncRepMonthUnion
(@God int,
@BudjetID int,
@PodrList ntext,
@Ind int)

RETURNS TABLE
AS


RETURN(
IF @Ind=1 

		SELECT * FROM dbo.fncRepMonth(@God, @BudjetID, @PodrList) fncRepMonth
		union all
		SELECT * FROM dbo.fncRepMonthDoc(@God, @BudjetID, @PodrList) fncRepMonthDoc
ELSE
		SELECT * FROM dbo.fncRepMonth(@God, @BudjetID, @PodrList) fncRepMonth
)

Проблемы с синтаксисом. как правильно написать подобную конструкцию?
30 июл 09, 16:09    [7480162]     Ответить | Цитировать Сообщить модератору
 Re: Фунция с условием  [new]
Glory
Member

Откуда:
Сообщений: 104760
Придется переписать вашу inline функцию в multi-statement
Пример есть в хелпе в статье CREATE FUNCTION
30 июл 09, 16:11    [7480176]     Ответить | Цитировать Сообщить модератору
 Re: Фунция с условием  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Автор, Вам нужно это:
		SELECT * FROM dbo.fncRepMonth(@God, @BudjetID, @PodrList) fncRepMonth
		union all
		SELECT * FROM dbo.fncRepMonthDoc(@God, @BudjetID, @PodrList) fncRepMonthDoc
		where @Ind=1
?
30 июл 09, 16:15    [7480205]     Ответить | Цитировать Сообщить модератору
 Re: Фунция с условием  [new]
maximIZ
Member

Откуда: Спб
Сообщений: 634
нет мне нужно в зависимости от условия либо делать Union фунций либо возвращать значения отдельной функции
30 июл 09, 16:17    [7480222]     Ответить | Цитировать Сообщить модератору
 Re: Фунция с условием  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
предлагаемый мною вариант выдает неверный результат?
30 июл 09, 16:18    [7480231]     Ответить | Цитировать Сообщить модератору
 Re: Фунция с условием  [new]
maximIZ
Member

Откуда: Спб
Сообщений: 634
сейчас проверить проблематично..нет этой базы дома. Проверю утром. Спасибо
30 июл 09, 16:21    [7480250]     Ответить | Цитировать Сообщить модератору
 Re: Фунция с условием  [new]
Джонни Кейдж
Member

Откуда: стольный град Киев
Сообщений: 31
Вариант, предложенный Паганелем, работает корректно, сам часто пользовался :)
30 июл 09, 18:19    [7481202]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить