Я не до конца понял. Я понял так - что курсор это своего рода обьект, который имеет некоторые свойства(Переменные) в которые мы можем записать столбцы. И этим обьектом мы можем манипулировать. Так же сам обьект курсор имеет такие возможности как циклы.
@nikolosmiron14812 жыл бұрын
Автор сам не до конца понимает как работает курсор)). Курсор - это результирующая выборка SQL и указатель на строку этой выборки, который в каждый момент времени указывает только на 1 запись из набора. Курсоры аналогичны чтению из файла в любом языке программирования, когда вы инициализируете файл, открываете его и построчно читаете. Так же и с курсором, Declare - объявляете курсор и передаете SQL выражение, которое определит состав курсора, Open - выполняет выражение запроса курсора и подготавливает (FETCH) курсор к обходу. FETCH - извлекает значения строк(кортежей) в переменные, которые затем могут использоваться в вашем языке программирования или другими операторами SQL. CLOSE - закрывает курсор, аналогично файлу, соот-но пропадает возможность дальнейшего чтения. Так же учитывайте что в разных СУБД, реализация курсора может отличаться. Но использовать их нужно только в определенных случаях, т.к. обычно более производительным будет обработка множества записей, а не каждой в отдельности.