[T-SQL] procedura w procedurze - wykonalne?

0

Witam wszystkiech :)

jak w sensowny sposob wywolac procedure w procedurze; wlasciwie chce stworzyc widok wywołujący procedurę, ale jak wyczytalem nie da sie tego zrobic :(

procedura zwraca kilka wartosci dla parametrow

a ja potrzebuje cos takiego (oczywiscie to szkic, zeby nie wrzucac iluśtam linijek)

imie,
nazwisko,
wyniki procedury (id, @par2, @par3)

... oczywiscie jak w widoku dla wielu rekordow, bo sama procedura zwroci tylko 1 linijke

jak proponujecie obejsc to w t-sql ???

0

Próbowałeś coś w ten deseń ?

DECLARE @TempTableTABLE(Id int PRIMARY KEY)
INSERT @TempTable
SELECT / EXEC TWOJA_PROCEDURA 

(pseudokod)

0
Deti napisał(a)

Próbowałeś coś w ten deseń ?

DECLARE @TempTableTABLE(Id int PRIMARY KEY)
INSERT @TempTable
SELECT / EXEC TWOJA_PROCEDURA 

(pseudokod)

Albo funkcja tabelaryczna.

0

dzieki za podpowiedz :) zamieniłem procedurę na funkcję zwracającą tabelę, ale mam kolejny problem chce uzyć tej funkcji w widoku

create View nazwa as select osoba.imie, osoba.nazwisko, dbo.funkcja(osoba.id) itd...

błąd

Msg 4121, Level 16, State 1, Procedure nazwa, Line 3
Cannot find either column "dbo" or the user-defined function or aggregate "tu nazwa", or the name is ambiguous.

bez dbo na poczatku tez nie działa :( , ale ja widze ta funkcje wywołana jest w oknie jako table valued Functions

o co chodzi? ja sie poddaje :(

0

Z funkcji tabelarycznej korzystasz jak z tabeli. Czyli:

select pole1, pole2, ....
from dbo.funkcjaTabelaryczna() 

:)

0

czyli teoretycznie mozna tez zrobic join ???

no to chyba nie o to mi do konca chodzilo, bo potrzebuje ta funkcje z parametrem wywolac w widoku dla wielu elementow w widoku, a ona sama zwraca tylko wartosci dla jednej zmiennej

wiem ze mozna zrobic widok i wywolac funkcje wyliczajaca jakos wartosc w widoku dla wielu wartosci, szkoda ze nie mozna tak zrobic z funkcja tabelaryczna :( no chyba ze ten blad bierze sie z czegos innego

Msg 4104, Level 16, State 1, Procedure "nazwa", Line 3
The multi-part identifier "O.ID" could not be bound.

0

udalo sie z pomoca http://www.sqlusa.com/bestpractices2005/crossapply/ [rotfl]

raz jeszcze dzieki za pomoc [browar]

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0