Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Работа с курсорами



Работа с курсором на языке MySql:

MySql >delimiter //

->create procedure proc1(out tov varchar(25))

->begin

->DECLARE cur CURSOR for select Tovar from sclad

->where price = (select min(price) from sclad)

->open cur

->fetch cur into tov

->close cur

->end

->//

MySql >delicimer

Работа с курсором на языке T-SQL:

CREATE PROCEDURE MyProc AS

DECLARE Mycur CURSOR FOR

SELECT tovar,price FROM Sclad WHERE price > 2000

FOR READ ONLY

OPEN Mycur

DECLARE @tovar VARCHAR(40)

DECLARE @price INT

FETCH NEXT FROM Mycur INTO @tovar, @price

PRINT @tovar + str(@price)

CLOSE Mycur

DEALLOCATE Mycur

Fetch – переход к следующей записи. Deallocate – удаляет курсор.

На ряду с NEXT используется: PRIOR (переход назад), FIRST, LAST, ABSOLUTE 4/-4 (переход к 4й записи сначала/к 4й записи с конца), RELATIVE 2 (перейти вперёд на 2 записи от текущей).

Пример:

CREATE PROCEDURE myproc AS

DECLARE @n INT

DECLARE mycur CURSOR SCROLL FOR

SELECT Tovar, price FROM sclad FOR

READ ONLY

OPEN mycur

DECLARE @tovar VARCHAR(40)

DECLARE @price INT

SET @n = 0

WHILE(@n < @@CURSOR_ROWS)

BEGIN

SET @n = @n+1

FETCH ABSOLUTE @n FROM mycur

INTO @tovar, @price

END

PRINT Tovar + str(price)

CLOSE mycur

DEALLOCATE mycur

Курсор в SQL – это область в памяти базы данных, которая предназначена для хранения последнего оператора SQL. Если текущий оператор – запрос к базе данных, в памяти сохраняется и строка данных запроса, называемая текущим значением, или текущей строкой курсора. Указанная область в памяти поименована и доступна для прикладных программ.

Обычно курсоры используются для выбора из базы данных некоторого подмножества хранимой в ней информации. В каждый момент времени прикладной программой может быть проверена одна строка курсора. Курсоры часто применяются в операторах SQL, встроенных в написанные на языках процедурного типа прикладные программы. Некоторые из них неявно создаются сервером базы данных, в то время как другие определяются программистами.





Дата публикования: 2015-02-03; Прочитано: 305 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...