MSSQL pobieranie danych z procedury
mixalot - 15-04-2006 00:09
MSSQL pobieranie danych z procedury
Witam wszystkich Właśnie zacząłem stawiać pierwsze kroki w mssql i mam w związku z tym pytanie dotyczace procedur składowalnych. Czy można w tsql'u zrobić procedurę do której będzie można później dobrać się jak do zwykłej tabeli - chodzi mi o pobieranie danych za pomocą selecta? select nazwa_pola from procedura.
Druga sprawa; robię sobie w procedurze parametr zwracany(OUTPUT). CREATE PROCEDURE procedura ( @id int, @bbb varchar(1024) output ) AS select @bbb=nazwisko from tabela where id=@id; GO
no a później jak chcę sobie zobaczyć co mi się narobiło to muszę: DECLARE @nazwisko int EXEC procedura '1', @nazwisko OUTPUT --nie wiem dlaczego trzeba podawać przy wywołaniu parametr który jest przecież zwracany.. SELECT @nazwisko
W firebirdzie co prawda SP wygląda trochę inaczej, bo bardziej przypomina kursor; for select nazwisko from tabela into :nazwisko do suspend; ale za to mogę to wywołać prościej: select nazwisko from procedura.
Czy w mssql też jest jakaś możliwość wywołania procedury jako zwykły select, lub - jeżeli nie to czy można - po wywołaniu exec procedura otrzymać wartości parametru(ów) output bez konieczności ciągłego deklarowania zmiennych?
pozdrawiam
rk
=?iso-8859-2?Q?Pawe=B3_Filipiak?= - 17-04-2006 00:02
"mixalot" <set@power.pl> wrote in message news:e1p2tk$vd$1@atlantis.news.tpi.pl... > Witam wszystkich > Właśnie zacząłem stawiać pierwsze kroki w mssql i mam w związku z tym > pytanie dotyczace procedur składowalnych. > Czy można w tsql'u zrobić procedurę do której będzie można później dobrać > się jak do zwykłej tabeli - chodzi mi o pobieranie danych za pomocą > selecta? > select nazwa_pola from procedura. można użyc funkcji (user definined function). Z procedurą tak się nie da. Funkcja musi być zdefiniowana jako zwracająca tablicę
[...] > Czy w mssql też jest jakaś możliwość wywołania procedury jako zwykły > select, nie, odpowiedź powyżej
> lub - jeżeli nie to czy można - po wywołaniu exec procedura otrzymać > wartości parametru(ów) output bez konieczności ciągłego deklarowania > zmiennych? nie, musisz zadeklarować zmienne, które podstawisz w wywołaniu procedury. Tak samo jak w języku wysokiego poziomu (C, C#, VB,...)
-- pozdrawiam, Paweł Filipiak
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
=?iso-8859-2?Q?=5BMySQL=5D_Wy=B6wietlenie_wszystkich_rekordow _zawierajacy?==?iso-8859-2?Q?ch_duplikat_a__moze_inna_struktura_bazy_danych ?=
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
[laik]Jak =?ISO-8859-2?Q?stworzy=E6/zaczac_tworzyc__ma=B3=B1?==?ISO-8859-2?Q?__baz=EA_danych_na_potrzeby_www=3F?=
[mysql] przenoszenie danych =?ISO-8859-2?Q?mi=EAdzy_tabelami_?==?ISO-8859-2?Q?w_r=F3=BFnych_bazach?=
Ksiazka - "Podstawowy =?ISO-8859-2?Q?wyk=B3ad_z_system=F3w_?==?ISO-8859-2?Q?baz_danych=22?=
Zrywanie =?ISO-8859-2?Q?po=B3aczen_z_baza_danych_-_pos?==?ISO-8859-2?Q?tgresql_=3C-=3E_odbc?=
Zdalny =?ISO-8859-2?Q?dost=EAp_do_MSSQL_bez_zarz=B1dzani?==?ISO-8859-2?Q?a?=
[MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?=
[MSSQL 2k] - jak =?ISO-8859-2?Q?pod=B3=B1czy=E6_serwer_na_?==?ISO-8859-2?Q?porcie_innym_ni=BF_1433=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 |
|