65 preguntas y respuestas de la entrevista PL/SQL (2024)

Aquí hay preguntas y respuestas de la entrevista PL/SQL para que los candidatos más nuevos y experimentados consigan el trabajo de sus sueños.

 

Preguntas y respuestas de la entrevista PL/SQL para principiantes

1) ¿Qué es PL SQL?

Oracle PL/SQL es una extensión del lenguaje SQL que combina el poder de manipulación de datos de SQL con el poder de procesamiento del lenguaje procedimental para crear consultas SQL súper poderosas. PL/SQL garantiza un procesamiento fluido de declaraciones SQL al mejorar la seguridad, portabilidad y solidez de la base de datos.
PL/SQL significa "Extensiones del lenguaje de procedimiento al lenguaje de consulta estructurado".

👉 Descarga gratuita de PDF: Preguntas y respuestas de la entrevista PL/SQL


2) Diferenciar entre % TIPO DE FILA y TIPO DE REGISTRO.

% TIPO DE FILA se utiliza cuando una consulta devuelve una fila completa de una tabla o vista.
TIPO DE REGISTRO por otro lado, se utiliza cuando una consulta devuelve una columna de diferentes tablas o vistas.

P.ej. TIPO r_emp es REGISTRO (sno smp.smpno% tipo, nombre smp nombre % tipo)

% de smp e_recTIPO DE FILA

El cursor c1 es seleccionar smpno,dept de smp;

e_recc1 %TIPO DE FILA


3) Explicar los usos del cursor.

El cursor es un área privada con nombre en SQL desde la cual se puede acceder a la información. Deben procesar cada fila individualmente para consultas que devuelven varias filas.


4) Mostrar código de un cursor para bucle.

Disminución del cursorares %ROWTYPE como índice de bucle implícitamente. Luego abre un cursor, obtiene filas de valores del conjunto activo en los campos del registro y se cierra cuando se procesan todos los registros.

Por ejemplo.

FOR smp_rec IN C1 LOOP

totalsal=totalsal+smp_recsal;

ENDLOOP;

5) Explicar los usos del disparador de base de datos.

Una unidad de programa PL/SQL asociada con una tabla de base de datos particular se denomina disparador de base de datos. Se utiliza para :

1) Modificaciones de datos de auditoría.

2) Registrar eventos de forma transparente.

3) hacer cumplir complex Reglas de negocios.

4) Mantener tablas de réplica

5) Derivar valores de columna

6) Implementar comunicaciónplex autorizaciones de seguridad


6) ¿Cuáles son los dos tipos de excepciones?

La parte de manejo de errores del bloque PL/SQL se llama excepción. Tienen dos tipos: definidos por el usuario y predefinidos.


7) Mostrar algunas excepciones predefinidas.

DUP_VAL_ON_INDEX

ZERO_DIVIDE

DATOS NO ENCONTRADOS

TOO_MANY_ROWS

CURSOR_ALREADY_OPEN

NÚMERO INVALIDO

INVALID_CURSOR

ERROR_PROGRAMA

TIEMPO DE ESPERA _ON_RESOURCE

ALMACENAMIENTO_ERROR

INICIO DE SESIÓN DENEGADO

VALOR_ERROR

etc.


8) Explique Raise_application_error.

Es un procedimiento del paquete DBMS_STANDARD que permite la emisión de mensajes de error definidos por el usuario desde el disparador de la base de datos o el subprograma almacenado.


9) Muestre cómo se llaman funciones y procedimientos en un bloque PL SQL.

La función se llama como parte de una expresión.

total:=calculate_sal('b644')

El procedimiento se llama como una declaración en PL / SQL.

calculate_bonus('b644');


10) Explique dos tablas virtuales disponibles en el momento de la ejecución del activador de la base de datos.

Las columnas de la tabla se denominan ANTIGUO.nombre_columna y NUEVO.nombre_columna.

Para los activadores relacionados con INSERT, los valores NEW.column_name solo están disponibles.

Para los activadores relacionados con DELETE, los valores OLD.column_name solo están disponibles.

Para los activadores relacionados con ACTUALIZAR, ambas columnas de la tabla están disponibles.


11) ¿Cuáles son las reglas que se aplicarán a los NULL al realizar comparaciones?

1) NULL nunca es VERDADERO o FALSO

2) NULL no puede ser igual o diferente a otros valores

3) Si un valor en una expresión es NULL, entonces la expresión misma se evalúa como NULL excepto por el operador de concatenación (||)


12) ¿Cómo se compila un proceso de PL SQL?

El proceso de compilación incluye procesos de verificación de sintaxis, vinculación y generación de código p.

La verificación de sintaxis verifica los códigos PL SQL en busca de errores de compilación. Cuando se corrigen todos los errores, se asigna una dirección de almacenamiento a las variables que contienen datos. Se llama vinculante. El código P es una lista de instrucciones para el motor PL SQL. El código P se almacena en la base de datos para los bloques con nombre y se utiliza la próxima vez que se ejecuta.


13) Diferenciar entre errores de sintaxis y de tiempo de ejecución.

Un compilador PL/SQL puede detectar fácilmente un error de sintaxis. Por ejemplo, ortografía incorrecta.

Un error de tiempo de ejecución se maneja con la ayuda de la sección de manejo de excepciones en un Bloque PL / SQL. Por ejemplo, la instrucción SELECT INTO, que no devuelve ninguna fila.


14) Explique la confirmación, la reversión y el punto de guardado.

Para una declaración COMMIT, lo siguientewing es verdad:

  • Otros usuarios pueden ver los cambios de datos realizados por la transacción.
  • Se liberan los bloqueos adquiridos por la transacción.
  • El trabajo realizado por la transacción se vuelve permanente.

Se emite una declaración ROLLBACK cuando finaliza la transacción y lo siguientewing es verdad.

  • El trabajo realizado en una transición se deshace como si nunca se hubiera emitido.
  • Se liberan todos los bloqueos adquiridos mediante transacción.

Deshace todo el trabajo realizado por el usuario en una transacción. Con SAVEPOINT, sólo se puede deshacer una parte de la transacción.


15) Definir cursores implícitos y explícitos.

Un cursor está implícito por defecto. El usuario no puede controlar ni procesar la información de este cursor.

Si una consulta devuelve varias filas de datos, el programa define un cursor explícito. Esto permite que la aplicación procese cada fila secuencialmente a medida que el cursor la devuelve.


16) Explique el error de la tabla mutante.

Ocurre cuando un disparador intenta actualizar una fila que está utilizando actualmente. Se soluciona mediante el uso de vistas o tablas temporales, por lo que la base de datos selecciona una y actualiza la otra.


17) ¿Cuándo se requiere una declaración de declaración?

La declaración DECLARE es utilizada por bloques anónimos de PL SQL, como por ejemplo con procedimientos independientes y no almacenados. Si se utiliza, debe aparecer primero en un archivo independiente.


18) ¿Cuántos activadores se pueden aplicar a una mesa?

Se puede aplicar un máximo de 12 activadores a una tabla.


19) ¿Cuál es la importancia de SQLCODE y SQLERRM?

SQLCODE devuelve el valor del número de error del último error encontrado, mientras que SQLERRM devuelve el mensaje del último error.


20) Si un cursor está abierto, ¿cómo podemos encontrarlo en un bloque PL SQL?

se puede utilizar la variable de estado del cursor %ISOPEN.


Preguntas de la entrevista PL/SQL para experimentados

21) Muestra las dos excepciones del cursor PL/SQL.

Cursor_ya_abierto

Cursor_inválido


22) ¿Qué operadores tratan con NULL?

NVL convierte NULL a otro valor especificado.

var:=NVL(var2,'Hi');

IS NULL y IS NOT NULL se pueden utilizar para comprobar específicamente si el valor de una variable es NULL o no.


23) ¿SQL*Plus también tiene un motor PL/SQL?

No, SQL*Plus no tiene un motor PL/SQL integrado. Por lo tanto, todo el código PL/SQL se envía directamente al motor de base de datos. Es mucho más eficiente ya que cada declaración no se elimina individualmente.


24) ¿Qué paquetes están disponibles para los desarrolladores de PL SQL?

DBMS_ serie de paquetes, como DBMS_PIPE, DBMS_DDL, DBMS_LOCK, DBMS_ALERT, DBMS_OUTPUT, DBMS_JOB, DBMS_UTILITY, DBMS_SQL, DBMS_TRANSACTION, UTL_FILE.


25) Explica 3 partes básicas de un disparador.

  • Una declaración o evento desencadenante.
  • Una restricción
  • Una acción

26) ¿Qué son las funciones de los personajes?

INITCAP, UPPER, SUBSTR, LOWER y LENGTH son todas funciones de caracteres. Las funciones de grupo dan resultados basados ​​en grupos de filas, en lugar de filas individuales. Son MAX, MIN, AVG, CONTAR y SUMAR.


27) Explique TÍTULO y BÍTULO.

Comandos TTITLE y BTITLE que controlan los encabezados y pies de página de los informes.


28) Mostrar los atributos del cursor de PL/SQL.

%ISOPEN: Comprueba si el cursor está abierto o no.

%ROWCOUNT: El número de filas que se actualizan, eliminan o recuperan.

%FOUND: Comprueba si el cursor ha recuperado alguna fila. Es cierto si se recuperan filas.

%NOT FOUND: Comprueba si el cursor ha recuperado alguna fila. Es Verdadero si no se recuperan las filas.


29) ¿Qué es una intersección?

Intersect es el producto de dos tablas y solo enumera filas coincidentes.


30) ¿Qué son las secuencias?

Las secuencias se utilizan para generar números de secuencia sin la sobrecarga de bloqueo. Su inconveniente es que el número de secuencia se pierde si se revierte la transacción.


31) ¿Cómo haría referencia a los valores de las columnas ANTES y DESPUÉS de haber insertado y eliminado activadores?

Usando la palabra clave "nuevo.nombre de columna", los activadores pueden hacer referencia a valores de columna por nueva colección. Al utilizar la palabra clave "nombre de columna anterior", pueden hacer referencia a los valores de las columnas por colección anterior.


32) ¿Cuáles son los usos de las palabras clave SYSDATE y USER?

SYSDATE se refiere a la fecha actual del sistema del servidor. Es una pseudocolumna. USUARIO también es una pseudocolumna pero se refiere al usuario actual que inició sesión. Se utilizan para monitorear los cambios que ocurren en la tabla.


33) ¿Cómo ayuda ROWID a ejecutar una consulta más rápido?

ROWID es la dirección lógica de una fila, no es una columna física. Se compone de número de bloque de datos, número de archivo y número de fila en el bloque de datos. Por lo tanto, el tiempo de E/S se minimiza al recuperar la fila y da como resultado una consulta más rápida.


34) ¿Para qué se utilizan los enlaces de bases de datos?

Los enlaces de bases de datos se crean para establecer comunicación entre varias bases de datos o diferentes entornos como prueba, desarrollo y producción. Los enlaces de la base de datos son de solo lectura para acceder también a otra información.


35) ¿Qué hace buscar un cursor?

Al recuperar un cursor se lee el conjunto de resultados fila por fila.


36) ¿Qué hace cerrar un cursor?

Al cerrar un cursor se borra el área privada de SQL y se desasigna memoria.


37) Explicar los usos del Archivo de Control.

Es un archivo binario. Registra la estructura de la base de datos. Incluye ubicaciones de varios archivos de registro, nombres y marcas de tiempo. Se pueden almacenar en diferentes ubicaciones para ayudar a recuperar información si un archivo se daña.


38) Explica la coherencia

La coherencia muestra que los datos no se reflejarán a otros usuarios hasta que se confirmen, de modo que se mantenga la coherencia.


39) Diferenciar entre bloques anónimos y subprogramas.

Los bloques anónimos son bloques sin nombre que no se almacenan en ningún lugar mientras los subprogramas se compilan y almacenan en la base de datos. Se compilan en tiempo de ejecución.


40) Diferenciar entre DECODIFICAR y CASO.

Las declaraciones DECODE y CASE son muy similares, pero CASE es una versión extendida de DECODE. DECODE no permite declaraciones de toma de decisiones en su lugar.

seleccione decode(totalsal=12000,’high’,10000,’medium’) como decode_tesr de smp donde smpno en (10,12,14,16);

Esta declaración devuelve un error.

CASE se usa directamente en PL SQL, pero DECODE se usa en PL SQL solo a través de SQL.


41) Explique la transacción autónoma.

Una transacción autónoma es una transacción independiente de la transacción principal o matriz. No está anidado si lo inicia otra transacción.

Existen varias situaciones para utilizar transacciones autónomas, como el registro de eventos y la auditoría.


42) Diferenciar entre SGA y PGA.

SGA significa Área global del sistema, mientras que PGA significa Área global de programa o proceso. A PGA solo se le asigna un tamaño de RAM del 10%, pero a SGA se le asigna un tamaño de RAM del 40%.


43) ¿Cuál es la ubicación de las funciones_pre_definidas?

Se almacenan en el paquete estándar llamado “Funciones, Procedimientos y Paquetes”


44) Explicar el polimorfismo en PL SQL.

El polimorfismo es una característica de la programación orientada a objetos. Es la capacidad de crear una variable, un objeto o función con múltiples formas. PL/SQL admite polimorfismo en forma de sobrecarga de unidades de programa dentro de una función miembro o paquete. Se debe evitar una lógica inequívoca mientras se realiza la sobrecarga.


45) ¿Cuáles son los usos de MERGE?

MERGE se utiliza para combinar varias declaraciones DML en una.

Sintaxis: fusionar en nombre de tabla

usando (consulta)

encendido (condición de unión)

cuando no coincide entonces

Comando [insertar/actualizar/eliminar]

cuando coincide entonces

Comando [insertar/actualizar/eliminar]


Preguntas de la entrevista PL/SQL para más de 5 años de experiencia

46) ¿Se pueden ejecutar 2 consultas simultáneamente?neo¿Utilizar en un sistema de base de datos distribuida?

Sí, se pueden ejecutar simultáneamente.neously. Una consulta siempre es independiente de la segunda consulta en un sistema de base de datos distribuida basado en la confirmación de 2 fases.


47) Explique Raise_application_error.

Es un procedimiento del paquete DBMS_STANDARD que permite emitir mensajes de error definidos por el usuario desde el disparador de la base de datos o el subprograma almacenado.


48) ¿Para qué se utiliza el parámetro out aunque la declaración de retorno también se puede utilizar en pl/sql?

Los parámetros de salida permiten más de un valor en el programa de llamada. El parámetro out no se recomienda en funciones. Se pueden utilizar procedimientos en lugar de funciones si se requieren varios valores. Por tanto, estos procedimientos se utilizan para ejecutar parámetros de salida.


49) ¿Cómo convertirías la fecha al formato de fecha juliana?

Podemos usar la cadena en formato J:

SQL> seleccione to_char(to_date('29-Mar-2013′,'dd-mon-yyyy'),'J') como julian de dual;

JULIAN


50) Explicar CARRETE

El comando spool puede imprimir la salida de declaraciones SQL en un archivo.

carrete/tmp/sql_outtxt

seleccione smp_name, smp_id de smp donde departamento=’cuentas’;

carrete


51) Mencione en qué consiste el paquete PL/SQL.

Un paquete PL/SQL consta de

  • Tabla PL/SQL y declaraciones TYPE de registro
  • Procedimientos y Funciones
  • Cursores
  • Variables (tablas, escalares, registros, etc.) y constantes
  • Nombres de excepción y pragmas para relacionar un número de error con una excepción
  • Cursores

52) Mencione cuáles son los beneficios de los paquetes PL/SQL.

Proporciona varios beneficios como

  • Ocultación de información forzada: Ofrece la libertad de elegir si mantener los datos privados o públicos.
  • Diseño de arriba hacia abajo: Puede diseñar la interfaz para el código oculto en el paquete antes de implementar los módulos.
  • Persistencia de objetos: Los objetos declarados en una especificación de paquete se comportan como datos globales para todos los objetos PL/SQL en la aplicación. Puede modificar el paquete en un módulo y luego hacer referencia a esos cambios a otro módulo.
  • Diseño orientado a objetos: El paquete ofrece a los desarrolladores un fuerte control sobre cómo se pueden utilizar los módulos y las estructuras de datos dentro del paquete.
  • Garantizar la integridad de las transacciones: Proporciona un nivel de integridad de las transacciones.
  • Mejora del rendimiento: El RDBMS rastrea automáticamente la validez de todos los objetos del programa almacenados en la base de datos y mejora el rendimiento de los paquetes.

53) Mencione cuáles son los diferentes métodos para rastrear el código PL/SQL.

El seguimiento del código es una técnica crucial para medir el rendimiento del código durante el tiempo de ejecución. Los diferentes métodos de seguimiento incluyen

  • DBMS_APPLICATION_INFO
  • DBMS_TRACE
  • DBMS_SESSION y DBMS_MONITOR
  • utilidades trcsess y tkproof

54) Mencione ¿qué hace el perfilador jerárquico?

El perfilador jerárquico podría perfilar las llamadas realizadas en PL/SQL, además de llenar el vacío entre las lagunas y las expectativas del seguimiento del rendimiento. Las eficiencias del perfilador jerárquico incluyen

  • Informes distintos para SQL y consumo de tiempo de PL/SQL
  • Informes del recuento de distintas llamadas a subprogramas realizadas en PL/SQL y el tiempo dedicado a cada llamada a subprograma.
  • Múltiples informes analíticos interactivos en formato HTML mediante la utilidad de línea de comandos
  • Más efectivo que el generador de perfiles convencional y otras utilidades de rastreo

55) Menciona ¿qué te permite hacer el mensaje PLV?

El mensaje PLV le permite

  • Asignar mensaje de texto individual a la fila especificada en la tabla PL/SQL
  • Recupera el texto del mensaje por número.
  • Sustituye automáticamente sus propios mensajes por mensajes de error estándar de Oracle con alternancia de restricción.
  • Cargar por lotes números de mensajes y texto desde una tabla de base de datos directamente PLV msg tabla PL/SQL

56) Mencione qué ofrece el paquete PLV (PL/Vision).

  • Valor de sustitución nulo
  • Conjunto de rutinas de aserción.
  • Miscelaneonosotros servicios públicos
  • Conjunto de constantes utilizadas en toda la visión PL.
  • Tipos de datos predefinidos

57) Mencione ¿para qué sirven los PLVprs y PLVprsps?

  • PLVprs: Es una extensión para el análisis de cadenas para PL/SQL y es el nivel más bajo de funcionalidad de análisis de cadenas.
  • PLVprsps: Es el paquete de más alto nivel para analizar el código fuente PL/SQL en separado atomcircuitos integrados. Depende de otros paquetes de análisis para realizar el trabajo.

58) Explique cómo se puede copiar un archivo al contenido del archivo y un archivo a la tabla PL/SQL por adelantado en PL/SQL.

Con una sola llamada de programa – “procedimiento de copia”, puede copiar el contenido completo de un archivo en otro archivo. Mientras que para copiar el contenido de un archivo directamente en una tabla PL/SQL, puedes utilizar el programa “archivo2pstab”.


59) Explique cómo se realiza el manejo de excepciones por adelantado en PL/SQL.

manejo de excepciones PL/SQL proporciona un complemento eficaz PLVexc. PLVexc admite cuatro acciones diferentes de manejo de excepciones.

  • Continuar procesando
  • Grabar y luego continuar.
  • Detener el procesamiento
  • Grabar y luego detener el procesamiento

Para aquellas excepciones que vuelven a ocurrir, puede utilizar la declaración RAISE.


60) Mencione qué problema se podría enfrentar al escribir información de registro en una tabla de base de datos en PL/SQL.

Al escribir información de registro en una tabla de base de datos, el problema al que se enfrenta es que la información sólo está disponible una vez que las nuevas filas se confirman en la base de datos. Esto podría ser un problema ya que dicho PLVlog generalmente se implementa para rastrear errores y, en muchos de estos casos, la transacción actual fallaría o necesitaría una reversión.


61) Mencione cuál es la función que se utiliza para transferir un registro de tabla PL/SQL a una tabla de base de datos.

Para transferir una tabla PL/SQL, registre una función de tabla de registro de base de datos “PROCEDIMIENTO ps2db” se utiliza.


62) ¿Cuándo tienes que usar un punto de guardado predeterminado de PLVlog para “revertir a”?

El punto de guardado predeterminado "revertir a" de PLVlog se utiliza cuando los usuarios han activado la actividad de reversión y no han proporcionado un punto de guardado alternativo en la llamada a put_line. El punto de guardado predeterminado se inicializa con la constante c none.


63) ¿Por qué se considera que PLVtab es la forma más sencilla de acceder a la tabla PL/SQL?

Las tablas PL/SQL son las más cercanas a las matrices en PL/SQL, y para acceder a esta tabla primero debe declarar un tipo de tabla y luego debe declarar la tabla PL/SQL. Pero al usar PLVtab, puede evitar definir su propio tipo de tabla PL/SQL y facilitar el acceso a la tabla de datos PL/SQL.


64) Mencione qué le permite hacer PLVtab cuando muestra el contenido de las tablas PL/SQL.

PLVtab te permite seguirwing cosas cuando muestras el contenido de tablas PL/SQL

  • Mostrar o suprimir un encabezado de la tabla
  • Mostrar o suprimir los números de fila de los valores de la tabla
  • Mostrar un prefijo antes de cada fila de la tabla

65) Explica cómo puedes guardar o colocar tu mensaje en una tabla.

Para guardar mensajes en una tabla, puedes hacerlo de dos maneras.

  • Cargar mensajes individuales con llamadas al add_text procedimientos
  • Cargue conjuntos de mensajes desde una tabla de base de datos con el load_from_dbms procedimientos

66) Mencione ¿cuál es el uso de la función “procedimiento de módulo” en PL/SQL?

El "procedimiento de módulo" permite convertir todas las líneas de código en una unidad de programa definida con una sola llamada al procedimiento. Hay tres argumentos para los módulos.

  • módulo_in
  • cor_in
  • Last_module_in

67) Mencione qué hacen PLVcmt y PLVrb en PL/SQL.

PL/Vision ofrece dos paquetes que le ayudan a gestionar el procesamiento de transacciones en la aplicación PL/SQL. Son PLVcmt y PLVrb.

  • PLVcmt: El paquete PLVcmt envuelve la lógica y complexidad para lidiar con el procesamiento de compromisos
  • PLVrb: Proporciona una interfaz programática para revertir la actividad en PL/SQL.

Estas preguntas de la entrevista también te ayudarán en tu viva(orals)