Blok PL/SQL tidak mengijinkan menampilkan beberapa baris dengan menggunakan perintah SELECT secara langsung. Untuk mengatasinya digunakanlah cursor. Cursor merupakan sejenis variabel yang dapat digunakan untuk menampung banyak nilai berupa baris atau record.
Dapat dikatakan pula cursor adalah pointer yang menunjuk ke suatu bagian memori untuk menyimpan hasil instruksi SQL. Hasil instruksi SQL tersebut biasanya merupakan multiple row, dan cursor digunakan untuk menunjuk (pointer) ke salah satu baris data.
Dalam penggunaannya, cursor harus melalui empat tahap : deklarasi (DECLARE), buka (OPEN), pengambilan data (FETCH), dan tutup (CLOSE). Cursor sendiri dibedakan menjadi : cursor implisit dan cursor eksplisit.