30 most important pl sql interview questions
Preguntas principales de la entrevista PL / SQL con ejemplos que lo ayudarán a prepararse para la próxima entrevista:
¿Qué es PL / SQL?
PL / SQL (Lenguaje de procedimiento / SQL) es básicamente una extensión de procedimiento de Oracle - SQL. PL / SQL ayuda al usuario a desarrollar aplicaciones de bases de datos complejas utilizando estructuras de control, procedimientos, funciones, módulos, etc.
Este artículo discutirá las preguntas y respuestas más importantes de la entrevista PL / SQL.
Preguntas y respuestas de la entrevista PL / SQL
¡¡Empecemos!!
P # 1) ¿Diferenciar PL / SQL y SQL?
Responder: La diferencia entre SQL y PL / SQL se puede clasificar de la siguiente manera:
SQL | PL / SQL |
---|---|
SQL es un lenguaje natural muy útil para el procesamiento interactivo. | PL / SQL es una extensión de procedimiento de Oracle - SQL. |
SQL no ofrece capacidades de procedimiento como pruebas de condición, bucle. | PL / SQL admite capacidades de procedimiento, así como características de lenguaje alto, como declaraciones condicionales, declaraciones en bucle, etc. |
Todas las sentencias SQL son ejecutadas por el servidor de base de datos una a la vez, por lo que es un proceso que consume mucho tiempo. | Las sentencias PL / SQL envían todo el bloque de sentencias al servidor de la base de datos al mismo tiempo, por lo que el tráfico de la red se reduce considerablemente. |
No existen procedimientos de manejo de errores en SQL. | PL / SQL admite el manejo de errores personalizado. |
P # 2) ¿Incluir las características de PL / SQL?
Responder:
Las características de PL / SQL son las siguientes:
- PL / SQL permite acceder y compartir los mismos subprogramas por múltiples aplicaciones.
- Es conocido por la portabilidad del código, ya que el código se puede ejecutar en cualquier sistema operativo siempre que Oracle esté cargado en él.
- Con PL / SQL, los usuarios pueden escribir sus propias rutinas personalizadas de manejo de errores.
- Rendimiento mejorado de transacciones con integración al diccionario de datos de Oracle.
P # 3) ¿Cuáles son los tipos de datos disponibles en PL / SQL?
Responder: Los tipos de datos definen las formas de identificar el tipo de datos y sus operaciones asociadas.
Hay 4 tipos de tipos de datos predefinidos que se explican a continuación:
- Tipos de datos escalares: Un tipo de datos escalares es un tipo de datos atómicos que no tiene componentes internos.
- Por ejemplo
- CHAR (rango de valores de caracteres de longitud fija entre 1 y 32,767 caracteres)
- VARCHAR2 (rango de valor de caracteres de longitud variable entre 1 y 32,767 caracteres)
- NUMBER (valores decimales fijos, decimales flotantes o enteros)
- BOOLEAN (tipo de datos lógicos para valores TRUE FALSE o NULL)
- FECHA (almacena información de fecha y hora)
- LONG (datos de caracteres de longitud variable)
- Tipos de datos compuestos: Un tipo de datos compuestos se compone de otros tipos de datos y componentes internos que se pueden utilizar y manipular fácilmente. Por ejemplo, RECORD, TABLE y VARRAY.
- Tipos de datos de referencia: Un tipo de datos de referencia contiene valores, denominados punteros que designan otros elementos de programa o elementos de datos. Por ejemplo, REF CURSOR.
- Tipos de datos de objetos grandes: Un tipo de datos de objeto grande contiene valores, llamados localizadores, que definen la ubicación de objetos grandes (como clips de vídeo, imágenes gráficas, etc.) almacenados fuera de línea.
- Por ejemplo
- BFILE (archivo binario)
- BLOB (objeto grande binario)
- CLOB (Objeto grande de carácter)
- NCLOB (objeto grande tipo NCHAR)
Lectura recomendada = >> Tipos de datos PL SQL
P # 4) ¿Explica el propósito de los tipos de datos% TYPE y% ROWTYPE con el ejemplo?
Responder: PL / SQL utiliza el atributo de declaración% TYPE para el anclaje. Este atributo proporciona el tipo de datos de una variable, constante o columna. El atributo% TYPE es útil al declarar una variable que tiene el mismo tipo de datos que una columna de tabla.
Por ejemplo, la variable m_empno tiene el mismo tipo de datos y tamaño que la columna empno en la tabla emp.
|_+_|El atributo% ROWTYPE se utiliza para declarar que una variable es un registro que tiene la misma estructura que una fila en una tabla. La fila se define como un registro y sus campos tienen los mismos nombres y tipos de datos que las columnas de la tabla o vista.
Por ejemplo:
|_+_|Esto declara un registro que puede almacenar una fila completa para la tabla DEPT.
P # 5) ¿Qué entiende por paquetes PL / SQL?
Responder: Los paquetes PL / SQL son objetos de esquema que agrupan funciones, procedimientos almacenados, cursores y variables en un solo lugar.
Los paquetes tienen 2 partes obligatorias:
- Especificaciones del paquete
- Cuerpo del paquete
P # 6) ¿Qué entiende por cursores PL / SQL?
Responder: PL / SQL requiere una capacidad especial para recuperar y procesar más de una fila y ese recurso se conoce como cursores. Un cursor es un puntero al área de contexto, que es un área de memoria que contiene declaraciones SQL e información para procesar las declaraciones.
PL / SQL Cursor es básicamente un mecanismo bajo el cual se seleccionan múltiples filas de los datos de la base de datos y luego cada fila se procesa individualmente dentro de un programa.
P # 7) Explica los tipos de cursor.
c ++ ide con compilador
Responder: Hay dos tipos de cursores.
Se explican de la siguiente manera:
a) Cursores explícitos: Para consultas que devuelven más de una fila, un programador declara y nombra un cursor explícito. Para utilizar el cursor explícito en PL / SQL, se siguen 4 pasos
- Declarar el cursor
Sintaxis: CURSOR es
Instrucción SELECT;
Aquí, está el nombre asignado al cursor y la instrucción SELECT es la consulta que devuelve filas al conjunto activo del cursor.
- Abre el cursor
Sintaxis: ABIERTO ;
Donde, es el nombre del cursor definido previamente.
- Obtener filas del cursor
Sintaxis: BUSCAR EN;
Aquí, se refiere al nombre del cursor definido previamente desde el que se obtienen las filas.
representa la lista de variables que recibirán los datos que se obtienen.
- Cerrar el cursor
Sintaxis: CERRAR ;
Aquí, está el nombre del cursor que se cierra.
b) Cursores implícitos: Cuando se ejecuta cualquier instrucción SQL, PL / SQL crea automáticamente un cursor sin definir dichos cursores se conocen como cursores implícitos.
Para las siguientes declaraciones, PL / SQL emplea cursores implícitos
- INSERTAR
- ACTUALIZAR
- ELIMINAR
- SELECCIONAR (consultas que devuelven exactamente una fila)
P # 8) ¿Cuándo usamos disparadores?
Responder: La palabra 'Trigger' significa activar. En PL / SQL, el desencadenante es un procedimiento almacenado que define una acción realizada por la base de datos cuando se realiza el evento relacionado con la base de datos.
Los activadores se requieren principalmente para los siguientes propósitos:
- Para mantener complejas restricciones de integridad
- Auditar la información de la tabla registrando los cambios
- Señalar otras acciones del programa cuando se realizan cambios en la tabla
- Hacer cumplir reglas comerciales complejas
- Prevenir transacciones inválidas
P # 9) ¿Explica la diferencia en la ejecución de disparadores y procedimientos almacenados?
Responder: Un procedimiento almacenado se ejecuta explícitamente emitiendo una instrucción de llamada a procedimiento desde otro bloque a través de una llamada a procedimiento con argumentos.
El desencadenante se ejecuta implícitamente siempre que ocurre cualquier evento desencadenante como la ocurrencia de declaraciones DML.
P # 10) ¿Explique la diferencia entre Triggers y Constraints?
Respuesta: Los disparadores son diferentes de las restricciones de las siguientes formas:
Disparadores | Restricciones |
---|---|
Solo afecta a las filas agregadas después de que se habilita el disparador. | Afecta a todas las filas de la tabla, incluidas las que ya existen cuando la restricción está habilitada. |
Los activadores se utilizan para implementar reglas comerciales complejas que no se pueden implementar mediante restricciones de integridad. | Las restricciones mantienen la integridad de la base de datos. |
P # 11) ¿Qué es un bloque PL / SQL?
Responder: En PL / SQL, las declaraciones se agrupan en unidades llamadas Bloques. Los bloques PL / SQL pueden incluir constantes, variables, declaraciones SQL, bucles, declaraciones condicionales, manejo de excepciones. Los bloques también pueden construir un procedimiento, una función o un paquete.
En general, Los bloques PL / SQL son de dos tipos:
(i) Bloques anónimos: Los bloques PL / SQL sin encabezado se conocen como bloques anónimos. Estos bloques no forman el cuerpo de un procedimiento, función o desencadenantes.
Ejemplo:
|_+_|(ii) Bloques con nombre: Los bloques PL / SQL que tienen encabezado o etiquetas se conocen como bloques con nombre. Los bloques con nombre pueden ser subprogramas (procedimientos, funciones, paquetes) o Triggers.
la mejor aplicación para descargar canciones mp3
Lectura recomendada = >> Procedimientos y funciones de PL SQL
Ejemplo:
|_+_|P # 12) ¿Diferenciar entre errores de sintaxis y de tiempo de ejecución?
Responder:
Errores de sintaxis son los que pueden ser identificados fácilmente por un compilador PL / SQL. Estos errores pueden ser un error ortográfico, etc.
Errores en tiempo de ejecución son aquellos errores en el bloque PL / SQL para los que se debe incluir una sección de manejo de excepciones para manejar los errores. Estos errores pueden ser una instrucción SELECT INTO que no devuelve ninguna fila.
P # 13) ¿Qué son COMMIT, ROLLBACK y SAVEPOINT?
Responder: COMMIT, SAVEPOINT y ROLLBACK son tres especificaciones de transacciones disponibles en PL / SQL.
Declaración COMMIT: Cuando se realiza la operación DML, solo manipula los datos en el búfer de la base de datos y la base de datos no se ve afectada por estos cambios. Para guardar / almacenar estos cambios de transacción en la base de datos, necesitamos COMPROMETER la transacción. La transacción COMMIT guarda todos los cambios pendientes desde la última COMMIT y ocurre el siguiente proceso
- Los bloqueos de las filas afectadas se liberan
- Transacción marcada como completa
- El detalle de la transacción se almacena en el diccionario de datos.
Sintaxis: COMETER;
Declaración ROLLBACK: Cuando queremos deshacer o borrar todos los cambios que se han producido en la transacción actual hasta el momento, es necesario que se deshaga de la transacción. En otras palabras, ROLLBACK borra todos los cambios pendientes desde el último COMMIT o ROLLBACK.
Sintaxis para revertir una transacción por completo:
RETROCEDER;
Declaración SAVEPOINT: La instrucción SAVEPOINT da un nombre y marca un punto en el procesamiento de la transacción actual. Los cambios y bloqueos que se han producido antes del SAVEPOINT en la transacción se conservan mientras que los que se producen después del SAVEPOINT se liberan.
Sintaxis:
PUNTO DE GUARDADO ;
P # 14) ¿Qué es la tabla mutante y la tabla restrictiva?
Responder: Una tabla que está siendo modificada actualmente por una declaración DML como definir desencadenadores en una tabla se conoce como Mesa de mutación .
Una tabla que puede necesitar ser leída para una restricción de integridad referencial se conoce como tabla restrictiva .
P # 15) ¿Cuáles son los parámetros reales y los parámetros formales?
Responder: Las variables o una expresión denominada parámetros que aparecen en la instrucción de llamada al procedimiento se conoce como Parámetros reales .
Por ejemplo: raise_sal (emp_num, mérito + monto);
Aquí, en el ejemplo anterior, emp_num y amount son los dos parámetros reales.
Las variables que se declaran en el encabezado del procedimiento y a las que se hace referencia en el cuerpo del procedimiento se denominan como Parámetros formales .
Por ejemplo:
PROCEDURE raise_sal (emp_id INTEGER) ES
curr_sal REAL:
………..
COMENZAR
SELECCIONE sal EN cur_sal DESDE emp DONDE empno = emp_id;
…….
END raise_sal;
Aquí, en el ejemplo anterior, emp_id actúa como un parámetro formal.
P # 16) ¿Cuál es la diferencia entre las declaraciones ROLLBACK y ROLLBACK TO?
Responder: La transacción finaliza completamente después de la instrucción ROLLBACK, es decir, el comando ROLLBACK deshace completamente una transacción y libera todos los bloqueos.
Por otro lado, una transacción aún está activa y ejecutándose después del comando ROLLBACK TO ya que deshace solo una parte de la transacción hasta el SAVEPOINT dado.
P # 17) Escriba un script PL / SQL para mostrar la siguiente serie de números: 99,96,93 …… 9,6,3?
Responder
|_+_|P # 18) ¿Cuáles son los 3 modos de parámetro?
Responder: 3 modos del parámetro son IN, OUT, IN OUT.
Estos se pueden explicar de la siguiente manera:
- IN parámetros: Los parámetros IN le permiten pasar valores al procedimiento que se está llamando y se pueden inicializar a los valores predeterminados. Los parámetros IN actúan como una constante y no se les puede asignar ningún valor.
- Parámetros de SALIDA: Los parámetros OUT devuelven un valor al llamador y deben especificarse. Los parámetros OUT actúan como una variable no inicializada y no se pueden usar en una expresión.
- Parámetros IN OUT: Los parámetros IN OUT pasan los valores iniciales a un procedimiento y devuelven los valores actualizados al llamador. Los parámetros IN OUT actúan como una variable inicializada y se les debe asignar un valor.
P # 19) ¿Por qué% ISOPEN siempre es falso para un cursor implícito?
Responder: Un cursor implícito, el atributo SQL% ISOPEN siempre es falso porque el cursor implícito se abre para una instrucción DML y se cierra inmediatamente después de la ejecución de la instrucción DML.
P # 20) Cuando se ejecuta una declaración DML, ¿en qué atributos del cursor se guarda el resultado de la declaración?
Responder: El resultado de la declaración se guarda en 4 atributos de cursor.
Estos son:
- SQL% ENCONTRADO
- SQL% NOTFOUND
- SQL% ROWCOUNT
- SQL% ISOPEN
P # 21) ¿Cuáles son las formas de comentar en un código PL / SQL?
Responder: Los comentarios son el texto que se incluye con el código para mejorar la legibilidad y para la comprensión del lector. Estos códigos nunca se ejecutan.
Hay dos formas de comentar en PL / SQL:
1) Comentario de una sola línea: Este comentario comienza con doble -.
preguntas y respuestas de la entrevista de pruebas de automatización de selenio para
Ejemplo:
DECLARE
num NUMBER (2); - es una variable local.
COMENZAR
2) Comentario de varias líneas: Este comentario comienza con / * y termina con * /.
Ejemplo:
COMENZAR
num: = & p_num; / * Esta es una variable del lenguaje principal utilizada en el cuerpo del programa * /
……….
FIN
P # 22) ¿Qué entiende por manejo de excepciones en PL / SQL?
Responder: Cuando ocurre un error en PL / SQL, se genera la excepción. En otras palabras, para manejar situaciones no deseadas donde los scripts PL / SQL terminaron inesperadamente, se incluye un código de manejo de errores en el programa. En PL / SQL, todo el código de manejo de excepciones se coloca en una sección EXCEPCIÓN.
Hay 3 tipos de EXCEPCIÓN:
- Excepciones predefinidas: Errores comunes con nombres predefinidos.
- Excepciones indefinidas: Errores menos comunes sin nombres predefinidos.
- Excepciones definidas por el usuario: No provoque un error de tiempo de ejecución, pero infrinja las reglas comerciales.
P # 23) ¿Tiene algunas excepciones predefinidas?
Responder:
Algunas de las excepciones predefinidas son:
- DATOS NO ENCONTRADOS: Sentencia SELECT de una sola fila donde no se devuelven datos.
- TOO_MANY_ROWS: Sentencia SELECT de una sola fila donde se devuelven más de una fila.
- INVALID_CURSOR: Ocurrió una operación ilegal del cursor.
- ZERO_DIVIDE: Intentó dividir por cero.
P # 24) ¿Qué son las excepciones del cursor PL / SQL?
Responder:
Las excepciones relacionadas con los cursores PL / SQL son:
- CURSOR_ALREADY_OPEN
- INVALID_CURSOR
P # 25) ¿Explica la diferencia entre el cursor declarado en los procedimientos y los cursores declarados en la especificación del paquete?
Responder: El cursor declarado en el procedimiento se trata como local y, por lo tanto, otros procedimientos no pueden acceder a él.
El cursor declarado en la especificación del paquete se trata como global y, por lo tanto, se puede acceder a él mediante otros procedimientos.
P # 26) ¿Qué son los desencadenantes EN VEZ DE?
Responder: Los desencadenadores INSTEAD OF son los desencadenantes escritos especialmente para modificar vistas, que no se pueden modificar directamente a través de sentencias SQL DML.
Q # 27) ¿Qué son las expresiones?
Responder: Las expresiones están representadas por una secuencia de literales y variables que están separadas por operadores. En PL / SQL, las operaciones se utilizan para manipular, comparar y calcular algunos datos. Una expresión es una composición de 'Operadores' y 'Operandos'.
- Operandos: Estos son un argumento para los operadores. Los operandos pueden ser variables, llamadas a funciones o constantes.
- Operadores: Estos especifican las acciones que se realizarán en los operadores. Ejemplo: ‘+’, ‘*’, etc.
Q # 28) Enumere diferentes tipos de expresiones con el ejemplo.
Responder: Las expresiones pueden ser como se menciona a continuación:
- Expresiones numéricas o aritméticas: Ejemplo: 20* 10+ 15
- Expresiones booleanas: Ejemplo: 'Spot' como 'sp% t'
- Expresiones de cadena: Ejemplo: LENGTH ('NUEVA YORK' || 'NY')
- Expresiones de fecha: Ejemplo: SYSDATE> TO_DATE ('15 -NOV-16 ', 'dd-mm-aa')
P # 29) ¿Escribe un programa que muestre el uso del ciclo WHILE para calcular el promedio de números ingresados por el usuario y la entrada de más números se detiene ingresando el número 0?
Responder
|_+_|P # 30) ¿Qué entiende por PL / SQL Records?
Responder: Los registros PL / SQL pueden denominarse una colección de valores o, digamos, un grupo de múltiples piezas de información, cada una de las cuales es de tipos más simples y se pueden relacionar entre sí como campos.
Hay tres tipos de registros admitidos en PL / SQL:
- Registros basados en tablas
- Registros basados en programadores
- Registros basados en cursor
Conclusión
PL / SQL es muy amplio cuando se trata de aprendizaje y aplicación. Espero que estas preguntas y respuestas de la entrevista te ayuden a seguir adelante.
Para obtener más información sobre PL SQL, lea nuestro completo Serie de tutoriales PL / SQL .
¡¡Feliz aprendizaje!!
Lectura recomendada
- Preguntas y respuestas de la entrevista
- Preguntas y respuestas de la entrevista de prueba ETL
- Más de 30 preguntas y respuestas populares de entrevistas sobre pepino
- Las 30 preguntas y respuestas principales de la entrevista SAS
- Principales preguntas de la entrevista de Oracle: preguntas de Oracle Basic, SQL, PL / SQL
- Las 30 preguntas y respuestas principales de la entrevista sobre pruebas de seguridad
- Más de 30 preguntas y respuestas principales de la entrevista de Scrum (LISTA 2021)
- Las 30 preguntas y respuestas principales de la entrevista sobre DBMS