kenzake powah! Posted April 17, 2017 Posted April 17, 2017 Exemplul urmator arată modul în care se poate utiliza un cursor ca output al unei proceduri stocate în T-SQL. Ideea este că în acest exemplul de mai jos nu se mai declară cursorul cu: DECLARE cursCURSOR FOR SELECT ... urmat de deschiderea cursorului cu OPEN curs, ci se deschide cursorul din execuţia procedurii stocate, cu output-ul acesteia. 1. Tabelul utilizatCREATE TABLE Students ([iD] INT PRIMARY KEY IDENTITY, FirstName VARCHAR(50), LastName VARCHAR(50))INSERT INTO Students VALUES ('abc', 'abc')INSERT INTO Students VALUES ('aaa', 'aaa')INSERT INTO Students VALUES ('bbb', 'bbb')INSERT INTO Students VALUES ('ccc', 'ccc')2. Procedura stocataCREATE PROCEDURE spGetCursor (@FirstChar CHAR(1), @c CURSOR VARYING OUTPUT)ASBEGINSET @c = CURSOR FORSELECT [iD], FirstName, LastNameFROM StudentsWHERE FirstName LIKE @FirstChar + '%'OPEN @cEND3. Exemplu de utilizareDECLARE @o CURSOREXECUTE spGetCursor 'a', @o OUTPUTIF CURSOR_STATUS ('variable', '@o') = 1FETCH NEXT FROM @o
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now