Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.20;
Скачать: CL | DM;

Вниз

Аналог цикла (FB) для MSSQL   Найти похожие ветки 

 
RomanH ©   (2007-02-27 12:11) [0]

Здраствуйте мастера, подскажите аналогичную конструкцию для MSSQL.
for select men.men_id from men
    into :men_id
do
 begin
       suspend;
 end


 
Gin2   (2007-02-27 12:26) [1]

declare cursor - Shift+F1


 
ЮЮ ©   (2007-02-27 12:38) [2]

в SP или UDF?

Если именно subj-евую, то достаточно
 select men_id from men
:)


 
Ega23 ©   (2007-02-27 12:43) [3]


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:48) [4]


> Ega23 ©   (27.02.07 12:43) [3]

а где аналог для
 suspend;


 
Ega23 ©   (2007-02-27 13:04) [5]


> а где аналог для
>  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...  :)


 
Danilka ©   (2007-03-01 10:45) [6]

[5] Ega23 ©   (27.02.07 13:04)
А почему именно глобальная временная таблица, а не локальная или вообще, не переменная типа table? Я обычно через переменную делаю, может какие-то подводные камни (с mssql мало работаю)?


 
Ega23 ©   (2007-03-01 11:05) [7]


> А почему именно глобальная временная таблица, а не локальная
> или вообще, не переменная типа table?


1. Это не глобальная временная таблица. Глобальная - с одним #. Те, что с двумя - видимы в пределах сессии.
2. переменную типа table нельзя передать в качестве параметра при, например, рекурсивном вызове SP.


 
Danilka ©   (2007-03-01 14:01) [8]

[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 14:05) [9]


> Danilka ©   (01.03.07 14:01) [8]


Тьфу, ё..
Бес попутал...
Конечно наоборот...
Это меня клинит...


 
RomanH ©   (2007-03-01 16:31) [10]


> Ega23 ©

Спасибо Вы как всегда с наглядным примером.



Страницы: 1 вся ветка

Текущий архив: 2007.05.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.037 c
3-1172908676
Бабенко Олег
2007-03-03 10:57
2007.05.20
Перевод базы формата Firebird 2.0 в Firebird 1.5


2-1178087507
DelphiLexx
2007-05-02 10:31
2007.05.20
Динамический двумерный массив


1-1173451304
oleg__
2007-03-09 17:41
2007.05.20
TChart


2-1178185619
Alanu
2007-05-03 13:46
2007.05.20
как определить имя компонента


15-1176851446
Германн
2007-04-18 03:10
2007.05.20
Вот интересно, это очепятка где-нить или совпадение?