Oracle, el programa de gestión de bases de datos objeto-relacional proporcionado por Oracle Corporation, permite el uso de sentencias de SQL para almacenar, gestionar , recuperar y mostrar datos. Las consultas permiten al usuario comunicarse con la base de datos para ejecutar comandos SQL . Una consulta SQL dinámico ofrece una amplia gama de capacidades de una consulta estándar . Puede utilizar consultas dinámicas para ejecutar comandos SQL en tiempo de ejecución , como cuando se trabaja con una tabla que no se sabe el nombre del hasta entonces. Instrucciones
1
abierto de Oracle y haga clic en el icono para abrir la herramienta de taller SQL .
2
Escriba en las sentencias SQL para crear objetos y tipos de tablas. Usted puede utilizar esto como una especie de modelo para otras tablas de la base de datos. El poder detrás de sentencias de SQL dinámico es que se puede crear la tabla y consultarlo en tiempo de ejecución .
"CREATE t_students TIPO COMO OBJETO (NÚMERO StudentID , full_name VARCHAR2 ( 30 ))
/< br >
cREAR t_studentlist TIPO cOMO TABLA de t_student
/"
En las declaraciones anteriores , que ha creado una base de datos llamada " t_students " que usarán los" valores "como FULL_NAME StudentID " y " identificadores únicos ( una manera de identificar un único registro en una base de datos ) . El valor " StudentID " será una variable " NUMERO " , lo que significa que sólo los números se guardarán en el campo " StudentID " . El valor " full_name " sólo puede contener hasta 30 caracteres de letras . Por último , un tipo de tabla ( " t_studentlist " ) fue creado en el interior de la base de datos " t_student " . Cambiar estos valores para representar mejor el tipo de datos que tiene en su base de datos Oracle .
3
Escribe las sentencias SQL para crear las tablas reales de la base de datos. La tabla prestada la estructura de los tipos que ha creado en el Paso 2 , por lo que no tiene que especificar los identificadores de nuevo. Utilizando el mismo ejemplo, el SQL para crear las tablas se verá así :
"CREATE TABLE students_new (NÚMERO StudentID , los estudiantes t__studentlist )
tabla anidada estudiantes TIENDA COMO student_table ; "
la tabla " students_new " se conectará a la mesa de " estudiantes " y " t_studentlist " con el campo " StudentID " . Cada estudiante en la tabla tendrá un número único que conecta la información del estudiante en cada mesa. De esta manera , usted no tendrá datos repetitivos en las tablas. Por ejemplo , en una base de datos de los estudiantes , tiene una tabla que contiene la información de contacto de los estudiantes (nombre , número de teléfono y dirección postal ) y otra tabla que contiene el horario actual del estudiante. El único campo que será el mismo en ambas tablas es el campo " StudentID " que conecta la información . Usted puede utilizar el campo " StudentID " para escribir una consulta que extrae el nombre del estudiante y el número de teléfono de la información de contacto de los estudiantes y la información de la programación del estudiante de la tabla de programación .
4
escribir una consulta SQL para agregar información a las tablas. Declare dos variables que se tire esta información de la tabla que se utilizará en la consulta dinámica en el futuro.
"INSERT INTO VALORES students_new (
10 ,
t_studentlist (
t_students
( 1 , ' John Doe ' ) ,
t_students
( 2 , ' Jane Smith ')) ) ;
DECLARA
NÚMERO majorId ;
sname VARCHAR1 ( 20 ), "
Dos estudiantes se sumaron a la mesa. John Doe tiene una identificación de estudiante de "1 " y Jane Smith tiene un carné de estudiante de la " 2 ". Durante toda la información de la base de datos de John Doe tendrá un ID de "1 ".
5
Ejecutar la consulta. Esta parte se sumará el SQL dinámico. Uno de los nombres de las tablas no se conoce en el momento de codificar la consulta, pero estarán disponibles en tiempo de ejecución . Crear un marcador temporal en lugar .
" COMENZAR
EJECUTAR INMEDIATO 'SELECT s.studentId , s.fullname
DE students_new s , TABLE ( s.students ) s < br >
DONDE s.studentId = 1 '
EN majorId , sname ;
END;
/"
En la consulta dinámica, están tomando información de la tabla " students_new " y ponerla en el campo " majorId " y " PROVEEDOR " de una tabla que no se conocen en este momento ( ( s.students ) s ) . Consultada la base de datos para obtener información sobre un estudiante con un ID de "1 ". Usando el ejemplo , John Doe es el estudiante seleccionado de la tabla de los estudiantes y se añade a la tabla desconocido.
6
Pulse la tecla " F9 " en su teclado para ejecutar la consulta y probarlo.