Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Вниз

Аналог цикла (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.041 c
1-1174570484
tytus
2007-03-22 16:34
2007.05.20
Форма поверх всех окон и панели задач.


15-1176523384
РТР
2007-04-14 08:03
2007.05.20
Воскресенье 20:40


15-1177074037
Сергей М.
2007-04-20 17:00
2007.05.20
Фокс-геморрой


9-1149087557
Igroman
2006-05-31 18:59
2007.05.20
Newton + PhysicsCar+OpenGL


2-1178025607
gloom
2007-05-01 17:20
2007.05.20
Как добавить прогу в автозагрузку





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский