ďťż
 
MSSQL pobieranie danych z procedury ďťż
 
MSSQL pobieranie danych z procedury
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • autwywalczyl.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com