SlideShare una empresa de Scribd logo
1 de 15
Otros Objetos PL/SQL:
  Secuencias y SQL
      Dinámico
      Semana 14/1
Aprendizajes esperados

• Construye procedimientos almacenados,
  triggers de base de datos, cursores y funciones
  que ayuden o implementen directamente
  soluciones a la lógica de negocio recogida en la
  captura de requerimientos de un sistema
Conceptos Claves
• Las secuencias nos facilitan la tarea de generar
  números automáticamente, las que generalmente se
  utilizan para asignar códigos únicos a nuestros
  registros
• SQL Dinámico es una herramienta que permite
  ejecutar sentencias SQL a partir de cadenas de
  caracteres. Permite también usar DDL en PL/SQL
Sintáxis Secuencia
CREATE SEQUENCE <nombre_secuencia>[MINVALUE
<valor_minímo>]
[MAXVALUE <valor_máximo>][START WITH <valor inicial>]
[INCREMENT BY <valor_del_incremento>][NOCACHE |
CACHE <cantidad asignada a cache>][NOCYCLE]|[CYCLE]
[NOORDER]|[ORDER];
Donde
<nombre_secuencia>: Indica el nombre que se asignará a la
secuencia<valor_minímo>: Indica el valor mínimo que tendrá la secuencia
<valor_máximo>: Indica el valor máximo que tendrá la secuencia<valor
inicial>: Indica por cuál valor comenzará a generar valores la secuencia
<valor_del_incremento>: Indica las unidades numéricas en que se
incrementará la secuencia (de 1 en 1, de 3 en 3, etc)
<cantidad asignada a cache>: Indica la cantidad de valores siguientes
que se generarán y se guardarán en memoria cacheNOCYCLE|CYCLE :
Indica si la secuencia al llegar al valor máximo se reinicia o noNOORDER|
ORDER: Indica si los valores son generados en el orden de petición o no.
Esto es útil sólo para ambientes multiusuarios en la BD
Ejemplo




  Secuencia
  Declarada
Funciones asociadas
• Las secuencias tienen dos funciones
  asociadas:
  • Nextval: Entrega el siguiente valor asociado a
    la secuencia
  • Currval: Entrega el valor actual asociado a la
    secuencia
Ejemplo de funciones de
      secuencias
Consideraciones secuencias
• Si está establecido el parámetro «cache», implica que la
  secuencia generará tantos números como los indicados y los
  mantendrá en memoria. Esto agiliza el uso de la secuencia.
• Lo parámetros de las secuencias son opcionales. Si se desea
  crear una secuencia con los valores por defecto, se puede utilizar
  sólo Create sequence <nombre>
Consideraciones secuencias
• Si al incremento de la secuencia se le asigna un valor negativo, la secuencia
  será decreciente (se debe tener precaución en los valores asignados como
  máximo y desde donde comienza a generar valores)
• No existe una forma nativa de reiniciar una secuencia. Sólo existen trucos, ya
  eliminando y creándola de nuevo o alterándola para que sea decreciente y una
  vez que se está en el valor inicial, volver a alterar para dejarla creciente
Eliminar secuencia
Drop sequence <nombre_secuencia>
Ejemplo SQL Dinámico
• A una variable de caracteres se asigna la
  sentencia y luego esa variable es
  ejecutada con el comando «execute
  immediate»
Ejemplo usando parámetros
• La sentencia SQL incorpora parámetros
  (se reconocen por usar «:» antes de su
  nombre. Luego con el comando «using»
  se les entrega posicionalmente el valor de
  esos parámetros
Ejemplo para cursores
• También se puede usar para cursores, por
  ejemplo, el implícito
Ejemplo para cursores
• También con Sys_RefCursor

Más contenido relacionado

Destacado

La organizacion grupo Nuñez Wagner
La organizacion grupo Nuñez WagnerLa organizacion grupo Nuñez Wagner
La organizacion grupo Nuñez WagnerWagnerfer
 
Marisely macias
Marisely maciasMarisely macias
Marisely macias1996mary
 
Abf leccion 14
Abf leccion 14Abf leccion 14
Abf leccion 14victdiazm
 
Programación belén villegas 264
Programación belén villegas 264Programación belén villegas 264
Programación belén villegas 264mava93
 
Programación en c j. carlos lopez ardao
Programación en c   j. carlos lopez ardaoProgramación en c   j. carlos lopez ardao
Programación en c j. carlos lopez ardaovictdiazm
 
Programación III - Consignas tp 04
Programación III - Consignas tp 04 Programación III - Consignas tp 04
Programación III - Consignas tp 04 MultimediaUNLaR
 
Semana 8 y 9 subprogramas procedimientos
Semana 8 y 9 subprogramas procedimientosSemana 8 y 9 subprogramas procedimientos
Semana 8 y 9 subprogramas procedimientosvictdiazm
 
Programación III. Nieva. Clase 3, segunda parte.
Programación III. Nieva. Clase 3, segunda parte.Programación III. Nieva. Clase 3, segunda parte.
Programación III. Nieva. Clase 3, segunda parte.MultimediaUNLaR
 
Animales en extinción
Animales en extinciónAnimales en extinción
Animales en extinciónClaudio Ogaz
 
Manual de asp
Manual de aspManual de asp
Manual de aspvictdiazm
 
Trabajo final iap1501_semestre01_2011
Trabajo final iap1501_semestre01_2011Trabajo final iap1501_semestre01_2011
Trabajo final iap1501_semestre01_2011victdiazm
 
Cuando se reunen los hermanos para comer juntos
Cuando se reunen los hermanos para comer juntosCuando se reunen los hermanos para comer juntos
Cuando se reunen los hermanos para comer juntosEliud Gamez Gomez
 
Curso basico de programacion en c
Curso basico de programacion en cCurso basico de programacion en c
Curso basico de programacion en cvictdiazm
 
Convocatoria madres mexicanas jefas de familia
Convocatoria madres mexicanas jefas de familiaConvocatoria madres mexicanas jefas de familia
Convocatoria madres mexicanas jefas de familiaescolaresitm
 

Destacado (20)

La organizacion grupo Nuñez Wagner
La organizacion grupo Nuñez WagnerLa organizacion grupo Nuñez Wagner
La organizacion grupo Nuñez Wagner
 
Cuba reclama Justicia 2013
Cuba reclama Justicia 2013Cuba reclama Justicia 2013
Cuba reclama Justicia 2013
 
Empanada Lunch - March 2013
Empanada Lunch - March 2013Empanada Lunch - March 2013
Empanada Lunch - March 2013
 
Marisely macias
Marisely maciasMarisely macias
Marisely macias
 
Martha chavez por cesar hildebrandt: Biografia falaz
Martha chavez por cesar hildebrandt: Biografia falazMartha chavez por cesar hildebrandt: Biografia falaz
Martha chavez por cesar hildebrandt: Biografia falaz
 
Abf leccion 14
Abf leccion 14Abf leccion 14
Abf leccion 14
 
Programación belén villegas 264
Programación belén villegas 264Programación belén villegas 264
Programación belén villegas 264
 
Programación en c j. carlos lopez ardao
Programación en c   j. carlos lopez ardaoProgramación en c   j. carlos lopez ardao
Programación en c j. carlos lopez ardao
 
Programación III - Consignas tp 04
Programación III - Consignas tp 04 Programación III - Consignas tp 04
Programación III - Consignas tp 04
 
Adopta un Arbol
Adopta un ArbolAdopta un Arbol
Adopta un Arbol
 
Semana 8 y 9 subprogramas procedimientos
Semana 8 y 9 subprogramas procedimientosSemana 8 y 9 subprogramas procedimientos
Semana 8 y 9 subprogramas procedimientos
 
Programación III. Nieva. Clase 3, segunda parte.
Programación III. Nieva. Clase 3, segunda parte.Programación III. Nieva. Clase 3, segunda parte.
Programación III. Nieva. Clase 3, segunda parte.
 
Animales en extinción
Animales en extinciónAnimales en extinción
Animales en extinción
 
Manual de asp
Manual de aspManual de asp
Manual de asp
 
Trabajo final iap1501_semestre01_2011
Trabajo final iap1501_semestre01_2011Trabajo final iap1501_semestre01_2011
Trabajo final iap1501_semestre01_2011
 
Cuando se reunen los hermanos para comer juntos
Cuando se reunen los hermanos para comer juntosCuando se reunen los hermanos para comer juntos
Cuando se reunen los hermanos para comer juntos
 
Curso basico de programacion en c
Curso basico de programacion en cCurso basico de programacion en c
Curso basico de programacion en c
 
Curso básico intro
Curso básico introCurso básico intro
Curso básico intro
 
Ana maria janer
Ana maria janerAna maria janer
Ana maria janer
 
Convocatoria madres mexicanas jefas de familia
Convocatoria madres mexicanas jefas de familiaConvocatoria madres mexicanas jefas de familia
Convocatoria madres mexicanas jefas de familia
 

Similar a Semana 15 secuencias y sql dinámico (20)

Objetos de Esquema de Oracle Database Z052-09
Objetos de Esquema de Oracle Database Z052-09Objetos de Esquema de Oracle Database Z052-09
Objetos de Esquema de Oracle Database Z052-09
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
Objeto Sql Command
Objeto Sql CommandObjeto Sql Command
Objeto Sql Command
 
Sqlcommand
SqlcommandSqlcommand
Sqlcommand
 
Preparedstatement
PreparedstatementPreparedstatement
Preparedstatement
 
Estructuras repetitivas-dayana-y-ana
Estructuras repetitivas-dayana-y-anaEstructuras repetitivas-dayana-y-ana
Estructuras repetitivas-dayana-y-ana
 
Amnel
AmnelAmnel
Amnel
 
Bases de Datos Masivas Corte I.pptx
Bases de Datos Masivas Corte I.pptxBases de Datos Masivas Corte I.pptx
Bases de Datos Masivas Corte I.pptx
 
Tuning fondo-negro-2
Tuning fondo-negro-2Tuning fondo-negro-2
Tuning fondo-negro-2
 
Diapositivas de objeto sqlcommand
Diapositivas de objeto sqlcommandDiapositivas de objeto sqlcommand
Diapositivas de objeto sqlcommand
 
Postgres trigger
Postgres triggerPostgres trigger
Postgres trigger
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddl
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddl
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Sesión 4
Sesión 4Sesión 4
Sesión 4
 
Sentencias
SentenciasSentencias
Sentencias
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladores
 
Fundamentos sql
Fundamentos sqlFundamentos sql
Fundamentos sql
 
Tutorial sql server
Tutorial sql serverTutorial sql server
Tutorial sql server
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 

Más de victdiazm

Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsvictdiazm
 
Semana 9 standard io and pipes guia de ejercicios resuelta
Semana 9   standard io and pipes  guia de ejercicios resueltaSemana 9   standard io and pipes  guia de ejercicios resuelta
Semana 9 standard io and pipes guia de ejercicios resueltavictdiazm
 
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
Semana 7 y 8   the linux filesystem guia de ejercicios resueltaSemana 7 y 8   the linux filesystem guia de ejercicios resuelta
Semana 7 y 8 the linux filesystem guia de ejercicios resueltavictdiazm
 
Semana 4 y 5 la shell bash guia de ejercicios resuelta
Semana 4 y 5  la shell bash guia de ejercicios resueltaSemana 4 y 5  la shell bash guia de ejercicios resuelta
Semana 4 y 5 la shell bash guia de ejercicios resueltavictdiazm
 
Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3   file ownerships and permissions guia de ejercicios resueltaSemana 2 y 3   file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3 file ownerships and permissions guia de ejercicios resueltavictdiazm
 
Semana 1 quick tours guia de ejercicios resuelta
Semana 1   quick tours guia de ejercicios resueltaSemana 1   quick tours guia de ejercicios resuelta
Semana 1 quick tours guia de ejercicios resueltavictdiazm
 
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltaSemana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltavictdiazm
 
Semana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashSemana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashvictdiazm
 
Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsvictdiazm
 
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltaSemana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltavictdiazm
 
Semana 1 -_quick_tours
Semana 1 -_quick_toursSemana 1 -_quick_tours
Semana 1 -_quick_toursvictdiazm
 
Semana 16 usuarios y grupos
Semana 16 usuarios y gruposSemana 16 usuarios y grupos
Semana 16 usuarios y gruposvictdiazm
 
Semana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesSemana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesvictdiazm
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basicovictdiazm
 
Semana 10 administracion de procesos
Semana 10 administracion de procesosSemana 10 administracion de procesos
Semana 10 administracion de procesosvictdiazm
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesvictdiazm
 
Semana 8 herramientas de procesos de string
Semana 8  herramientas de procesos de stringSemana 8  herramientas de procesos de string
Semana 8 herramientas de procesos de stringvictdiazm
 
Semana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxSemana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxvictdiazm
 
Control1 victoria diaz
Control1   victoria diazControl1   victoria diaz
Control1 victoria diazvictdiazm
 

Más de victdiazm (20)

Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissions
 
Semana 9 standard io and pipes guia de ejercicios resuelta
Semana 9   standard io and pipes  guia de ejercicios resueltaSemana 9   standard io and pipes  guia de ejercicios resuelta
Semana 9 standard io and pipes guia de ejercicios resuelta
 
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
Semana 7 y 8   the linux filesystem guia de ejercicios resueltaSemana 7 y 8   the linux filesystem guia de ejercicios resuelta
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
 
Semana 4 y 5 la shell bash guia de ejercicios resuelta
Semana 4 y 5  la shell bash guia de ejercicios resueltaSemana 4 y 5  la shell bash guia de ejercicios resuelta
Semana 4 y 5 la shell bash guia de ejercicios resuelta
 
Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3   file ownerships and permissions guia de ejercicios resueltaSemana 2 y 3   file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
 
Semana 1 quick tours guia de ejercicios resuelta
Semana 1   quick tours guia de ejercicios resueltaSemana 1   quick tours guia de ejercicios resuelta
Semana 1 quick tours guia de ejercicios resuelta
 
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltaSemana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
 
Semana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashSemana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bash
 
Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissions
 
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltaSemana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
 
Semana 1 -_quick_tours
Semana 1 -_quick_toursSemana 1 -_quick_tours
Semana 1 -_quick_tours
 
Semana 16 usuarios y grupos
Semana 16 usuarios y gruposSemana 16 usuarios y grupos
Semana 16 usuarios y grupos
 
Semana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesSemana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redes
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basico
 
Semana 10 administracion de procesos
Semana 10 administracion de procesosSemana 10 administracion de procesos
Semana 10 administracion de procesos
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipes
 
Semana 8 herramientas de procesos de string
Semana 8  herramientas de procesos de stringSemana 8  herramientas de procesos de string
Semana 8 herramientas de procesos de string
 
Semana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxSemana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linux
 
Script
ScriptScript
Script
 
Control1 victoria diaz
Control1   victoria diazControl1   victoria diaz
Control1 victoria diaz
 

Semana 15 secuencias y sql dinámico

  • 1. Otros Objetos PL/SQL: Secuencias y SQL Dinámico Semana 14/1
  • 2. Aprendizajes esperados • Construye procedimientos almacenados, triggers de base de datos, cursores y funciones que ayuden o implementen directamente soluciones a la lógica de negocio recogida en la captura de requerimientos de un sistema
  • 3. Conceptos Claves • Las secuencias nos facilitan la tarea de generar números automáticamente, las que generalmente se utilizan para asignar códigos únicos a nuestros registros • SQL Dinámico es una herramienta que permite ejecutar sentencias SQL a partir de cadenas de caracteres. Permite también usar DDL en PL/SQL
  • 4. Sintáxis Secuencia CREATE SEQUENCE <nombre_secuencia>[MINVALUE <valor_minímo>] [MAXVALUE <valor_máximo>][START WITH <valor inicial>] [INCREMENT BY <valor_del_incremento>][NOCACHE | CACHE <cantidad asignada a cache>][NOCYCLE]|[CYCLE] [NOORDER]|[ORDER];
  • 5. Donde <nombre_secuencia>: Indica el nombre que se asignará a la secuencia<valor_minímo>: Indica el valor mínimo que tendrá la secuencia <valor_máximo>: Indica el valor máximo que tendrá la secuencia<valor inicial>: Indica por cuál valor comenzará a generar valores la secuencia <valor_del_incremento>: Indica las unidades numéricas en que se incrementará la secuencia (de 1 en 1, de 3 en 3, etc) <cantidad asignada a cache>: Indica la cantidad de valores siguientes que se generarán y se guardarán en memoria cacheNOCYCLE|CYCLE : Indica si la secuencia al llegar al valor máximo se reinicia o noNOORDER| ORDER: Indica si los valores son generados en el orden de petición o no. Esto es útil sólo para ambientes multiusuarios en la BD
  • 6. Ejemplo Secuencia Declarada
  • 7. Funciones asociadas • Las secuencias tienen dos funciones asociadas: • Nextval: Entrega el siguiente valor asociado a la secuencia • Currval: Entrega el valor actual asociado a la secuencia
  • 8. Ejemplo de funciones de secuencias
  • 9. Consideraciones secuencias • Si está establecido el parámetro «cache», implica que la secuencia generará tantos números como los indicados y los mantendrá en memoria. Esto agiliza el uso de la secuencia. • Lo parámetros de las secuencias son opcionales. Si se desea crear una secuencia con los valores por defecto, se puede utilizar sólo Create sequence <nombre>
  • 10. Consideraciones secuencias • Si al incremento de la secuencia se le asigna un valor negativo, la secuencia será decreciente (se debe tener precaución en los valores asignados como máximo y desde donde comienza a generar valores) • No existe una forma nativa de reiniciar una secuencia. Sólo existen trucos, ya eliminando y creándola de nuevo o alterándola para que sea decreciente y una vez que se está en el valor inicial, volver a alterar para dejarla creciente
  • 11. Eliminar secuencia Drop sequence <nombre_secuencia>
  • 12. Ejemplo SQL Dinámico • A una variable de caracteres se asigna la sentencia y luego esa variable es ejecutada con el comando «execute immediate»
  • 13. Ejemplo usando parámetros • La sentencia SQL incorpora parámetros (se reconocen por usar «:» antes de su nombre. Luego con el comando «using» se les entrega posicionalmente el valor de esos parámetros
  • 14. Ejemplo para cursores • También se puede usar para cursores, por ejemplo, el implícito
  • 15. Ejemplo para cursores • También con Sys_RefCursor