Dragi kolege trebam pomoć.
Naime imam potrebu koristi cursor za jedan problem koji prebrojava rekorde te koji bi to sve trebao zapisat u novu varijablu @tablica...ali nikako mi ne uspijeva.
kako izgleda code:
ALTER function [dbo].[test4]()
returns @TESTNA_TABLICA table
(
ime nvarchar(255),
prezime nvarchar(255),
ustrojId nvarchar(50)
)
as
begin
--INSERT INTO @TESTNA_TABLICA
declare osoblje_cursor cursor -- deklariram kursor
read_only
for SELECT
ime,
prezime,
ustrojId
FROM dbo.osoblje
declare --upisujem vrijednosti iz krusora
@ime nvarchar(255),
@prezime nvarchar(255),
@ustrojId nvarchar(50)
open osoblje_cursor
WHILE @@FETCH_STATUS = 0
BEGIN
fetch osoblje_cursor
insert into @TESTNA_TABLICA (ime, prezime, ustrojId)values (
@ime,
@prezime,
@ustrojid )
--PRINT @ime + ' ' + @prezime + ' ' + @ustrojid
return
END
close osoblje_cursor
DEALLOCATE osoblje_cursor
return
end
greska koju mi javlja:
Msg 444, Level 16, State 2, Procedure test4, Line 34
Select statements included within a function cannot return data to a client.
problem je u tome ako promijenim ovaj dio
fetch osoblje_cursor
insert into @TESTNA_TABLICA (ime, prezime, ustrojId)values (
@ime,
@prezime,
@ustrojid )
u fetch osoblje_cursor into
@ime,
@prezime,
@ustrojid
tada ne dobim gresku ali kad startam funkciju dobim praznu tablicu...HELP!!