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

Откуда: Санкт-Петербург
Сообщений: 380
есть функция foo(Id int)
делаю выборку в темповую таблицу
select
    tbl.Id as [Column1],
    foo( tbl.Id ) * 100 as [Column2],
    foo( tbl.Id ) - 123 as [Column3] 
into 
     ##tmp_t1
from
     MyTable1 tbl
Вопрос, можно ли избежать повторного вызова foo ?
11 авг 05, 16:24    [1778866]     Ответить | Цитировать Сообщить модератору
 Re: Как не выполнять одну и туже функцию несколько раз?  [new]
WiRuc
Member

Откуда: Воронеж
Сообщений: 1280
select Column1, foo * 100 as [Column2, foo - 123 as [Column3]
into 
     ##tmp_t1
from 
  (select tbl.Id as [Column1], foo( tbl.Id ) as foo from MyTable1 tbl) a    
11 авг 05, 16:36    [1778964]     Ответить | Цитировать Сообщить модератору
 Re: Как не выполнять одну и туже функцию несколько раз?  [new]
Владимир Штепа
Member

Откуда: Hannover
Сообщений: 6029
Serg****
есть функция foo(Id int)
делаю выборку в темповую таблицу
select
    tbl.Id as [Column1],
    foo( tbl.Id ) * 100 as [Column2],
    foo( tbl.Id ) - 123 as [Column3] 
into 
     ##tmp_t1
from
     MyTable1 tbl
Вопрос, можно ли избежать повторного вызова foo ?


И я о том же.
Даже делание функции детерминистической не помогает, однако.
11 авг 05, 16:43    [1779007]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить