

Es un lenguaje que define procedimientos de búsqueda de recuperación de información, donde el conjunto encadenado de comandos tiene un fin especifico para realizar la búsqueda cada comando tiene una función diferente para rescatar información.
Este lenguaje de programación persistente, esto es, trabaja directamente con datos que son persistentes perviven después de terminada la ejecución del programa, al contrario que los lenguajes tradicionales, que trabajan directamente con archivos.
El acceso a los datos se hace mediante cursores un objeto que representa a un conjunto de datos extraídos mediante una instrucción SELECT y el sistema de tipos del lenguaje permite trabajar directamente con los datos persistentes. No obstante, PL/SQL también se puede usar como un lenguaje con SQL incorporado. Es posible ejecutar sentencias SQL directamente en un bloque PL/SQL.
Las tablas externas en PLQL permiten hacer consultas desde una base de datos Oracle sobre datos almacenados en un fichero de texto como si dicho fichero fuera una tabla de la base de datos. En Oracle, sólo se pueden realizar operaciones de lectura con las tablas externas; en cambio, en Oracle 10g, se puede también escribir datos en una tabla externa que será creada en ese momento, es decir, no se puede utilizar una tabla externa que ya existe para realizar esta operación:
CREATE [OR REPLACE] PROCEDURE nombre procedimiento
[nombre_parametro modo tipodatos_parametro]
IS | AS
bloque de código
Donde “modo” contiene valores como IN, OUT, IN OUT; si no se pone nada tiene por defecto valor IN es de parámetro es de salida, tipodatos_parametro indica el tipo de datos que tendrá el parámetro según lo indicado.
Los siguientes son ejemplos de uso de cursores en las expresiones de búsqueda:
• StudentID students.id%TYPE
• First Name students.first_name%TYPE
• LastName students.last_name%TYPE
• Major students.major%TYPE := 'Computer Science'
• CURSOR c_Students IS
• SELECT id, first_name, last_name
• OPEN c_Students
• FETCH c_Students INTO v_StudentID, v_FirstName, v_LastName
• CLOSE c_Students



