![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Аналог цикла (FB) для MSSQL [D7, FB2.0]
RomanH © (2007-02-27 12:11:00)Здраствуйте мастера, подскажите аналогичную конструкцию для MSSQL.
for select men.men_id from men
into :men_id
do
begin
suspend;
end
RomanH (2007-03-01 16:31:00) [1]
> Ega23 ©
Спасибо Вы как всегда с наглядным примером.
Ega23 (2007-03-01 14:05:00) [2]
> Danilka © (01.03.07 14:01) [8]
Тьфу, ё..
Бес попутал...
Конечно наоборот...
Это меня клинит...
Danilka (2007-03-01 14:01:00) [3][7] Ega23 © (01.03.07 11:05)
Ошибаешься:
"Prefix local temporary table names with single number sign (#table_name), and prefix global temporary table names with a double number sign (##table_name)."
BOL, справка по CREATE TABLE.
Ega23 (2007-03-01 11:05:00) [4]
> А почему именно глобальная временная таблица, а не локальная
> или вообще, не переменная типа table?
1. Это не глобальная временная таблица. Глобальная - с одним #. Те, что с двумя - видимы в пределах сессии.
2. переменную типа table нельзя передать в качестве параметра при, например, рекурсивном вызове SP.
Danilka (2007-03-01 10:45:00) [5][5] Ega23 © (27.02.07 13:04)
А почему именно глобальная временная таблица, а не локальная или вообще, не переменная типа table? Я обычно через переменную делаю, может какие-то подводные камни (с mssql мало работаю)?
Ega23 (2007-02-27 13:04:00) [6]
> а где аналог для
> suspend;
>
Set NoCount ON;
Create Table ##Temp_men_id (men_id int);
Declare @men_id int;
Declare Cur cursor local static for
Select men_id from men;
Open Cur;
While(true)
begin
Fetch Next from Cur into @men_id;
if @@FETCH_STATUS<>0 Break;
Insert ##Temp_men_id Values (@men_id);
end;
Close Cur;
Deallocate Cur;
Set NoCount OFF;
Select * from ##Temp_men_id;
Drop table ##Temp_men_id;
Только вот нафига? проще select men_id from men... :)
ЮЮ (2007-02-27 12:48:00) [7]
> Ega23 © (27.02.07 12:43) [3]
а где аналог для
suspend;
Ega23 (2007-02-27 12:43:00) [8]
Declare @men_id int;
Declare Cur cursor local static for
Select men_id from men;
Open Cur;
While(true)
begin
Fetch Next from Cur into @men_id;
if @@FETCH_STATUS<>0 Break;
.......
end;
Close Cur;
Deallocate Cur;
ЮЮ (2007-02-27 12:38:00) [9]в SP или UDF?
Если именно subj-евую, то достаточно
select men_id from men
:)
Gin2 (2007-02-27 12:26:00) [10]declare cursor - Shift+F1