Главная страница
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.047 c
2-1177570495
PL
2007-04-26 10:54
2007.05.20
Не могу понять в чем проблема


1-1174826542
Midnighter
2007-03-25 16:42
2007.05.20
Получить указатель на объект из интерфейса


6-1162996359
iXT
2006-11-08 17:32
2007.05.20
E-Mail Indi 10 (BDS 4) TIdMessage DateTime format


4-1165922919
lock95
2006-12-12 14:28
2007.05.20
CompactFlash требуется считать по секторно


2-1178087867
Кириллка
2007-05-02 10:37
2007.05.20
Число прописью 0.000005