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

Откуда:
Сообщений: 45
После выполнения процедуры у меня получается 2 поля @buf LIFNR и full_name необходимо присвоить set @lifnr получившееся значение @buf LIFNR

declare @name varchar(100)
set @name = :NAME
set @name = UPPER(@name)

declare @buf table(LIFNR varchar(10), full_name varchar(200))
insert into @buf 
select LIFNR, NAME1
from LFA1 
where LIFNR like '%' + @name + '%' or NAME like '%' + @name + '%'
if (select COUNT(*) from @buf) > 1
begin
  --сообщение об ошибке
  select 'ОШИБКА! Уточните имя кредитора:' as [Информация] 
      union all
  select full_name from @buf 
end
else
begin
  --запрос данных
  select 'Все готово!', LIFNR from @buf
end

declare @lifnr varchar(10)
declare @year varchar(4)

set @lifnr = ?????????????
set @year = :YEAR
22 фев 12, 13:26    [12136638]     Ответить | Цитировать Сообщить модератору
 Re: Присвоить результат выполненной функции функции  [new]
pooleet
Member

Откуда:
Сообщений: 45
решила таким образом
set @lifnr = (select LIFNR from @buf )
22 фев 12, 13:59    [12137029]     Ответить | Цитировать Сообщить модератору
 Re: Присвоить результат выполненной функции функции  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2793
А можно и так:
select @lifnr = LIFNR from @buf
22 фев 12, 14:04    [12137074]     Ответить | Цитировать Сообщить модератору
 Re: Присвоить результат выполненной функции функции  [new]
Glory
Member

Откуда:
Сообщений: 104751
pooleet
решила таким образом
set @lifnr = (select LIFNR from @buf )

И какое значение попадет в @lifnr, если в @buf будет несколько записей ?
22 фев 12, 14:08    [12137115]     Ответить | Цитировать Сообщить модератору
 Re: Присвоить результат выполненной функции функции  [new]
pooleet
Member

Откуда:
Сообщений: 45
Glory
pooleet
решила таким образом
set @lifnr = (select LIFNR from @buf )

И какое значение попадет в @lifnr, если в @buf будет несколько записей ?

сейчас думаю над этим
22 фев 12, 14:12    [12137159]     Ответить | Цитировать Сообщить модератору
 Re: Присвоить результат выполненной функции функции  [new]
pooleet
Member

Откуда:
Сообщений: 45
решила
перенесла последний end в конец программы

begin
  --запрос данных
  select 'Все готово!', LIFNR from @buf
declare @lifnr varchar(10)
declare @year varchar(4)

set @lifnr = LIFNR from @buf
set @year = :YEAR
................................
end
22 фев 12, 14:30    [12137303]     Ответить | Цитировать Сообщить модератору
 Re: Присвоить результат выполненной функции функции  [new]
edyaN
Member

Откуда: Berlin
Сообщений: 185
pooleet
...
if (select COUNT(*) from @buf) > 1
begin
...


вместо select count (*) лучше проверить @@rowcount.
если у вас нет проблем с производительностью сейчас, это не означает, что они не появятся в будущем.
22 фев 12, 14:57    [12137555]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить