MS SQL EE 2k5 - Pętle w procedurach składowanych
Jacek - 14-03-2007 00:08
MS SQL EE 2k5 - Pętle w procedurach składowanych
Witam,
Potrzebuję w procedurze składowanej zrobić pętlę, ale nigdzie w books on line i innych dokumetach na necie nie znalazłem składni do pętli innych niż WHILE. Ja potrzebuję akurat FOREACH - czy w ogóle jest coś takiego w MS SQL-u ?
Może jakieś linki macie ?
Pzdr Jacek
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Grzesiek G. - 15-03-2007 00:03
Jacek napisał(a): > Witam, > > Potrzebuję w procedurze składowanej zrobić pętlę, ale nigdzie w books on line i > innych dokumetach na necie nie znalazłem składni do pętli innych niż WHILE. > Ja potrzebuję akurat FOREACH - czy w ogóle jest coś takiego w MS SQL-u ?
W T-SQLu jest tylko WHILE. Ale jak piszesz procedurę w .NET, to masz możliwość użycia foreach.
Pozdrawiam
-- Grzesiek G. Odpowiadając usuń spamerom_nie z adresu
Jacek - 15-03-2007 00:03
> W T-SQLu jest tylko WHILE. Ale jak piszesz procedurę w .NET, to masz > możliwość użycia foreach.
Witam, dzięki za info. Ja do tej pory działałem głównie na Informixie, gdzie mogę użyć pętli WHILE, FOR, FOREACH w procedurze składowanej. W takim razie powiedz mi jak MS SQL-u zrobić taką rzecz: chciałem wybrać do tablicy tymczasowej dane spełniające kryteria, a następnie w pętli FOREACH SELECT wartość1, wartość2 dla każdej wartości z tej tablicy tymczasowej wykonać jakiś zestaw czynności w innych powiązanych tablicach. W pętli WHILE nie jestem w stanie tego zrobić.
Mam nadzieję, że piszę w miarę zrozumiale, bo chodzi mi o ogólną ideę tego, co chcę zrobić, bez wdawania się w szczegóły struktur tablic.
Pzdr Jacek
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Grzesiek G. - 15-03-2007 00:04
Jacek napisał(a): >> W T-SQLu jest tylko WHILE. Ale jak piszesz procedurę w .NET, to masz >> możliwość użycia foreach. > > Witam, dzięki za info. Ja do tej pory działałem głównie na Informixie, gdzie > mogę użyć pętli WHILE, FOR, FOREACH w procedurze składowanej. W takim razie > powiedz mi jak MS SQL-u zrobić taką rzecz: chciałem wybrać do tablicy > tymczasowej dane spełniające kryteria, a następnie w pętli FOREACH SELECT > wartość1, wartość2 dla każdej wartości z tej tablicy tymczasowej wykonać jakiś > zestaw czynności w innych powiązanych tablicach. W pętli WHILE nie jestem w > stanie tego zrobić. > > Mam nadzieję, że piszę w miarę zrozumiale, bo chodzi mi o ogólną ideę tego, co > chcę zrobić, bez wdawania się w szczegóły struktur tablic.
Pobierasz dane do tablicy tymczasowej, a z tablicy tymczasowej odczytujesz kursorem. Jak poszukasz sobie w BOL hasła CURSOR, to dostaniesz tyle przykładów, że załapiesz o co chodzi.
Z tym, że w efekcie też to sprowadzi się do WHILE:-).
Pozdrawiam
-- Grzesiek G. Odpowiadając usuń spamerom_nie z adresu
Jacek - 15-03-2007 00:04
Ok. Dzięki serdeczne. W takim razie muszę się jeszcze wyedukować z kursorów. Człowiek musi uczyć się przez całe życie ;((( A swoją drogą to brak tych pętli to moim zdaniem totalna porażka .
> Pobierasz dane do tablicy tymczasowej, a z tablicy tymczasowej > odczytujesz kursorem. Jak poszukasz sobie w BOL hasła CURSOR, to > dostaniesz tyle przykładów, że załapiesz o co chodzi. > > Z tym, że w efekcie też to sprowadzi się do WHILE:-). > > Pozdrawiam > > -- > Grzesiek G. > Odpowiadając usuń spamerom_nie z adresu
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Mikolaj Rydzewski - 15-03-2007 00:04
Jacek <werbelWYTNIJTO@kki.net.pl> wrote: > Ok. Dzięki serdeczne. W takim razie muszę się jeszcze wyedukować z kursorów. > Człowiek musi uczyć się przez całe życie ;((( A swoją drogą to brak tych pętli > to moim zdaniem totalna porażka .
Powinienes sie raczej cieszyc, ze ciagle sie uczysz ;-)
-- Mikolaj Rydzewski <miki@ceti.pl> http://ceti.pl/~miki/ PGP KeyID: 8b12ab02 There are three kinds of people: men, women, and unix.
Arthus_p - 15-03-2007 00:04
Jacek napisał(a): > Witam, > > Potrzebuję w procedurze składowanej zrobić pętlę, ale nigdzie w books on line i > innych dokumetach na necie nie znalazłem składni do pętli innych niż WHILE. > Ja potrzebuję akurat FOREACH - czy w ogóle jest coś takiego w MS SQL-u ? > > Może jakieś linki macie ? > > Pzdr > Jacek >
Może kursor pomoże??
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
jak to =?ISO-8859-2?Q?zrobi=E6=2E=2E=2E=3F_TSQL_sql_server?==?ISO-8859-2?Q?_?=
=?iso-8859-2?Q?=5BMS_SQL=5D_Czy_mo=BFna_wywo=B3a=E6_funkcje_t ylko_raz_dla?==?iso-8859-2?Q?_ca=B3ego_zbioru_=BCr=F3d=B3owego=3F?=
[MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?=
Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?=
[MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?=
=?iso-8859-2?Q?=5Bmssql=5D_Zapytania_rekurencyjne__-_czy_sk=B3adnia_sql?==?iso-8859-2?Q?_co=B6_takiego_przewiduje_=3F?=
[Oracle PL/SQL] Cursor i zapis =?ISO-8859-2?Q?rekord=F3w_do_?==?ISO-8859-2?Q?kolejnych_plik=F3w?=
=?iso-8859-2?Q?=5BMySQL=5D_Co_minimalnie_potrzebne_zeby_mie=E 6_klienta_My?==?iso-8859-2?Q?SQL_na_Linuxie=3F?=
[oracle] - Oracle SQL Developer - co to jest SID?
=?ISO-8859-2?Q?[Oracle]_Wywo=B3anie_skryptu_sh_z_PL/SQL-a=3F=3F?=
zanotowane.pldoc.pisz.plpdf.pisz.plautwywalczyl.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|