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

Откуда:
Сообщений: 49
Subj!

Код функции:

alter function dbo.clmGetCustomerCount (

@PeopleID int,
@OnDate datetime)
returns varchar(20)
as
begin
declare @SqlStr nvarchar(4000)
set @SqlStr = 'SELECT COUNT(*) ' + dbo.clmGetCustomerCond(@PeopleID, @OnDate)
declare @TotalCustomerCount int
set @TotalCustomerCount=0
exec sp_executesql @SqlStr, N'@TotalCustomerCount int out',
@TotalCustomerCount = @TotalCustomerCount out
declare @NewCustomersCount int
set @NewCustomersCount = 0
set @SqlStr = @SqlStr + ' and LastUpdate>='+dbo.clmGetLastGenDate(@PeopleID)
exec sp_executesql @SqlStr, N'@NewCustomersCount int out',
@NewCustomersCount = @NewCustomersCount out
declare @result varchar(20)
set @result = ltrim(STR(@TotalCustomerCount))+'/'+ ltrim(STR(@NewCustomersCount))
return @result
end
30 янв 04, 14:37    [514719]     Ответить | Цитировать Сообщить модератору
 Re: Код, работающий как процедура, не работает как функция  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Динамику в ф-ии низяяяя.
30 янв 04, 14:39    [514725]     Ответить | Цитировать Сообщить модератору
 Re: Код, работающий как процедура, не работает как функция  [new]
Denis Bondar
Member

Откуда:
Сообщений: 49
А обернуть этот код в процедуру, а потом вызвать из функции можно?
30 янв 04, 15:07    [514824]     Ответить | Цитировать Сообщить модератору
 Re: Код, работающий как процедура, не работает как функция  [new]
Glory
Member

Откуда:
Сообщений: 104760
Нет. В UDF можно вызывать только расширенные хранимые процедуры.
30 янв 04, 15:08    [514832]     Ответить | Цитировать Сообщить модератору
 Re: Код, работающий как процедура, не работает как функция  [new]
Denis Bondar
Member

Откуда:
Сообщений: 49
А почему же функция нормально создается? Это специально сделано чтобы такие как я путались? :)
30 янв 04, 15:12    [514847]     Ответить | Цитировать Сообщить модератору
 Re: Код, работающий как процедура, не работает как функция  [new]
Glory
Member

Откуда:
Сообщений: 104760
А почему же функция нормально создается?
При создании проверяется только синтаксис.

Это специально сделано чтобы такие как я путались? :)

Чтобы не путаться читайте внимательно руководство. Там про все это написано.
30 янв 04, 15:15    [514853]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить