![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как обработать записи, возвращаемые запросом [MSSQL]
Calm © (2002-11-22 11:13:00)Уважаемые мастера!
Нужно выполнить запрос и над полученными записями произвести некоторое сложноедействие.
В IB для этого есть конструкция FOR SELECT ... А как это написать под MS SQL?
Заранее благодарю за советы.
3JIA9I CyKA (2002-11-22 11:36:00) [1]8)
Calm (2002-11-22 11:34:00) [2]2 3JIA9I CyKA © (22.11.02 11:31)
И Вам спасибо. Предыдущее сообщение писал, не видя Вашего. Получить пример очень ценно.
Calm (2002-11-22 11:32:00) [3]Спасибовсем, особенно Александру Спелицину.
Читаю хелп, пытаюсь разобраться...
3JIA9I CyKA (2002-11-22 11:31:00) [4]use pubs
go
declare @au_id varchar(11)
declare c cursor for select au_id from authors
open c
fetch next from c into @au_id
while @@fetch_status = 0
begin
print @au_id
fetch next from c into @au_id
end
close c
deallocate c
go
Александр Спелицин (2002-11-22 11:24:00) [5]К сожалению Вы не указали, что должно быть с результатом.
Если это все нужно выдать клиентскому приложению в виде набора данных, то можно сделать так:
Create Table #Tmp (...)
Insert #Tmp (...)
Select ...
From ..., ..., ...
Where ...
Update #Tmp
Set ...
...
Select ... From #Tmp
Drop Table #Tmp /* Эта команда рекомендуется для связки Delphi (CBuilder) -> MSSQL*/
А если Вам нужно, чтобы изменения остались в базе, то используйте курсоры.
См. Declare Cursor в BOL.
Delirium (2002-11-22 11:24:00) [6]
select ... into #result from ...
select ... from #result
stone (2002-11-22 11:20:00) [7]WHILE