sql >> Base de Datos >  >> RDS >> Oracle

preguntas de la entrevista oracle PLSQL

Aquí está la compilación de las preguntas de entrevista de Oracle plsql más frecuentes. Seguro que te ayudarán en la entrevista. Las preguntas van desde el nivel básico hasta el avanzado y cubren la mayoría de los aspectos de la programación PLSQL. Espero que encuentres esto útil

Pregunta (1) ¿Qué es Oracle PLSQL?
Respuesta
PL/SQL es una extensión de lenguaje de procedimiento para el lenguaje de consulta estructurado (SQL). El propósito de PL/SQL es combinar el lenguaje de base de datos y el lenguaje de programación procedimental


Pregunta (2) ¿Cuáles son los componentes de un bloque PL/SQL?
Respuesta
Parte declarativa, parte ejecutable y parte de excepción.

Pregunta (3) ¿Cuáles son los tipos de datos disponibles en PL/SQL?
Respuesta
Algunos tipos de datos escalares como
NUMBER, VARCHAR2, DATE, CHAR, LONG, BOOLEAN.
Algunos tipos de datos compuestos como RECORD &TABLE.

Pregunta (4) ¿Qué es un cursor? ¿Por qué se requiere el cursor?
Respuesta
El cursor es un área SQL privada con nombre desde donde se puede acceder a la información.
Los cursores son necesarios para procesar filas individualmente para consultas que devuelven varias filas.

Pregunta (5)  ¿Cuál es la diferencia entre Procedimiento y Función?
Respuesta

Función Procedimiento
La función debe devolver un valor El procedimiento no necesita
Sintaxis 
Nombre de la FUNCIÓN (lista de argumentos...) El tipo de datos de retorno es
declaraciones de variables locales
Comienzo
sentencias ejecutables
Excepción
controladores de ejecución
Fin;
Sintaxis
PROCEDIMIENTO nombre (lista de parámetros…..)
es
declaraciones de variables locales
BEGIN
Declaraciones ejecutables.
Excepción.
controladores de excepciones
fin;
La función se puede usar en SQL con alguna restricción El procedimiento no se puede llamar directamente desde SQL.

Pregunta (6) ¿Cuál es la diferencia entre ELIMINAR y TRUNCAR?
Respuesta

Eliminar Truncar
DELETE es un comando DML TRUNCATE es un comando DDL.
Sintaxis 
Eliminar * de la tabla
Commit;
Sintaxis
Truncar tabla ;
No cambia la marca de agua alta TRUNCATE restablece los bloques de memoria después de la ejecución, es decir, establece la marca de límite superior del objeto
Se puede revertir No se puede revertir
El activador de eliminación se activa No se activarán disparadores
Se utilizan segmentos de retroceso Se utilizan menos segmentos de retroceso y es mucho más rápido

Pregunta (7) ¿Qué es el cursor implícito y el cursor explícito?
Respuesta

Cursor implícito Cursor explícito
El cursor implícito está definido y controlado por Oracle internamente. El cursor explícito se define y controla programáticamente.
Sintaxis 
declarar
v_dept varchar2(50);
empezar
seleccionar departamento en v_dept desde departamento donde ubicación ='XYZ';
fin;
Sintaxis
declarar
v_dept varchar2(50);
El cursor Cur_dept es seleccionar departamento en v_dept desde departamento donde ubicación ='XYZ';
empezar
Abrir Cur_dept;
Obtener Cur_dept en v_dept;
Cerrar Cur_dept;
fin;
Todas las consultas de selección/actualización utilizadas en el bloque PL/SQL son un cursor implícito El cursor explícito está abierto, busca y cierra

Pregunta (8) ¿Qué son rowid y rownum?
Respuesta
Rowid es un número único hexadecimal para cada fila de una tabla que se utiliza para realizar búsquedas.
Rownum es un número entero único para cada fila de una tabla que se puede utilizar para clasificar o analizar.

Pregunta (9)  Explique la diferencia entre FUNCIÓN, PROCEDIMIENTO y PAQUETE
Respuesta

Función -Una función tiene un tipo de devolución en su especificación y debe devolver un valor especificado en ese tipo.
-Se almacenan en forma compilada en la base de datos
– Las funciones se pueden llamar en cualquier lugar en un expresión
Seleccione fnd_profile.value('xyz)  de dual;
Procedimiento -Un procedimiento no tiene un tipo de devolución en su especificación y no debe devolver ningún valor, pero puede tener una declaración de devolución que simplemente detiene su ejecución y regresa a la persona que llama
-Se almacenan en forma compilada en la base de datos
-Los procedimientos se llaman como sentencias ejecutables independientes:my_proc(parámetro1,parámetro2…);
Paquetes -Los paquetes contienen funciones, procedimientos y otras estructuras de datos.
– Las ventajas de los paquetes son la modularidad, el diseño de aplicaciones más sencillo y la información.
Ocultación, reutilización y mejor rendimiento.
-Hay una serie de diferencias entre los programas PL/SQL empaquetados y no empaquetados.
Paquete Los datos en el paquete son persistentes durante la sesión del usuario. Por lo tanto, los datos en el paquete existen a través de confirmaciones en la sesión.
-Si otorga privilegios de ejecución en un paquete, es para todas las funciones y procedimientos, y estructuras de datos en la especificación del paquete. No puede otorgar privilegios sobre un solo procedimiento o función dentro de un paquete. Puede sobrecargar procedimientos y funciones dentro de un paquete, declarando múltiples programas con el mismo nombre. El programa correcto a llamar se decide en tiempo de ejecución, en función del número de tipos de datos de los parámetros.

Pregunta (10)   Defina Confirmar, Revertir y Punto de guardado.

Respuesta.

Confirmar Commit se usa para hacer que la transacción sea permanente
Sucede lo siguiente cuando se ejecuta una confirmación
a)Todo el trabajo realizado por la transacción se vuelve permanente.
b)Otros usuarios pueden ver los cambios en los datos realizados por la transacción.
c ) Se liberan todos los bloqueos adquiridos por la transacción.
Restaurar Revertir se usa para deshacer la transacción .
Sucede lo siguiente cuando se ejecuta una reversión
a) Todo el trabajo realizado por la transacción se deshace como si no se hubiera emitido.
b) Se liberan todos los bloqueos adquiridos por la transacción .
Punto de guardado UN SAVEPOINT es un punto en una transacción en el que puede revertir la transacción hasta cierto punto sin revertir toda la transacción.

Pregunta (11)  ¿Qué son SQLCODE y SQLERRM y por qué son importantes para los desarrolladores de PL/SQL?
Respuesta

SQLCODE devuelve el valor del número de error del último error encontrado. SQLERRM devuelve el mensaje de error real para el último error encontrado. Se pueden usar en el manejo de excepciones para informar o almacenar en una tabla de registro de errores el error que ocurrió en el código. Estos son especialmente útiles para la excepción CUANDO OTROS.

Pregunta (12) ¿Cómo puede encontrar dentro de un bloque PL/SQL, si un cursor está abierto?
Respuesta
Utilice la variable de estado del cursor %ISOPEN.

Pregunta (13) ¿Cómo puede generar resultados de depuración desde PL/SQL?
Respuesta
Utilice el paquete DBMS_OUTPUT. Otro método posible es simplemente usar el comando SHOW ERROR, pero esto solo muestra errores. El paquete DBMS_OUTPUT se puede usar para mostrar resultados intermedios de bucles y el estado de las variables a medida que se ejecuta el procedimiento. También se puede utilizar el nuevo paquete UTL_FILE.

Pregunta (14) ¿Qué son las excepciones de PL/SQL?
Respuesta
Algunos de ellos son
1.Too_many_rows
2.No_Data_Found
3.Value_error
4.Zero_error etc.

Pregunta (15) ¿Cuál es el número máximo de disparadores que puede aplicar en una sola tabla?
Respuesta
12 disparadores.

Pregunta (16) ¿Cuáles son las dos partes del paquete?
Respuesta
Las dos partes son la especificación del paquete y el cuerpo del paquete
Constan de la especificación del paquete, que contiene los encabezados de función, los encabezados de procedimiento y las estructuras de datos visibles externamente. El cuerpo del paquete contiene las secciones de declaración, ejecutable y manejo de excepciones de todos los procedimientos y funciones incluidos.

Pregunta (17) ¿Qué es la sobrecarga de procedimientos?
Respuesta
Repetición del mismo nombre de procedimiento con una lista de parámetros diferente

Pregunta (18) ¿Cuáles son los modos de parámetros que se pueden pasar a un procedimiento?
Respuesta
Parámetros IN, OUT, IN-OUT.

Pregunta (19) ¿Qué comando usaría para cifrar una aplicación PL/SQL?
Respuesta
ENVOLTURA

Pregunta (20) ¿Cuántos tipos de disparadores existen en PL/SQL?
Respuesta
Hay 12 tipos de disparadores en PL/SQL que contienen la combinación de ANTES, DESPUÉS, FILA, TABLA, INSERTAR, ACTUALIZAR, ELIMINAR y TODAS las palabras clave.
◦ANTES DE TODAS LAS FILAS INSERTAR
◦DESPUÉS DE INSERTAR TODAS LAS FILAS
◦ANTES DE INSERTAR
◦DESPUÉS DE INSERTAR, etc.

Pregunta (21) Nombre las tablas donde se almacenan las características del paquete, el procedimiento y las funciones.

Pregunta (22) ¿Qué es Procedimiento almacenado?
Respuesta
Un procedimiento almacenado es una secuencia de sentencias o un bloque PL/SQL con nombre que realiza una o más funciones específicas. Es similar a un procedimiento en otros lenguajes de programación. Se almacena en la base de datos y se puede ejecutar repetidamente. Se almacena como un objeto de esquema. Se puede anidar, invocar y parametrizar.

Pregunta (23) ¿Cómo ejecutar un procedimiento almacenado?
Respuesta
Hay dos formas de ejecutar un procedimiento almacenado.
Desde el símbolo del sistema SQL, escriba EXECUTE o EXEC seguido de nombre_procedimiento

Pregunta (24) ¿Qué es Raise_application_error?
Respuesta

Pregunta (25) ¿Qué es Pragma EXECPTION_INIT? ¿Explicar el uso?
Respuesta
PRAGMA EXCEPTION_INIT le dice al compilador que asocie una excepción con un error de Oracle. Para obtener un mensaje de error de un error específico de Oracle.

p.ej. PRAGMA EXCEPTION_INIT (nombre de excepción, número de error de Oracle)

Espero que les guste esta compilación de preguntas de entrevistas de Oracle PlSQL. Publicaré más preguntas de este tipo en el futuro

Enlaces relacionados

Preguntas y respuestas de la entrevista de las aplicaciones de Oracle

preguntas de la entrevista de Oracle dba

Preguntas de la entrevista de Oracle RAC

Preguntas de la entrevista de Weblogic

Espero que les guste la compilación de preguntas de la entrevista de Oracle plsql. Proporcione sus comentarios