SlideShare una empresa de Scribd logo
UTPL -ORACLE UNIVERSITY
PL/SQL, consiste de tres secciones:  DECLARE ……… .... BEGIN ………… EXCEPTION ………… .. END; UTPL -ORACLE UNIVERSITY
UTPL -ORACLE UNIVERSITY
DECLARE v_variable  VARCHAR2(5); BEGIN SELECT column_name NTO v_variable FROM table_name; EXCEPTION WHEN exception_name THEN …………… .. END; UTPL -ORACLE UNIVERSITY
Toda sentencia termina con [; ] a excepción de  las palabras reservadas. Si el bloque es ejecutado exitosamente sin errores de manejo y compilación, aparece el siguiente mensaje: PL/SQL procedure successfully completed END y todas las otras sentencias PL/SQL requieren un punto y coma para terminar la sentencia. Para mejorar la lectura y comprensión es útil usar tabulaciones por sección. UTPL -ORACLE UNIVERSITY
NOTA:  En PL/SQL a un error se lo llama excepción. Con la modularidad es fácil solucionar un problema complejo esto gracias a que se puede trabajar en módulos. UTPL -ORACLE UNIVERSITY
PL/SQL es un programa que tiene uno o más bloques. Estos bloques pueden estar separados o anidados unos con otros. Por lo tanto, un bloque puede representar una pequeña parte de otro bloque. UTPL -ORACLE UNIVERSITY FUNCIÓN FUNCTION name  RETURN datatype IS BEGIN ---SENTENCIAS [EXCEPTION] END; BLOQUE ANÓNIMO [DECLARE] BEGIN ---SENTENCIAS [EXCEPTION] END; PROCEDIMIENTO PROCEDURE name IS BEGIN ---SENTENCIAS [EXCEPTION] END;
Bloque anónimo.-  es un bloque sin nombre. Estos son declarados en un punto en una aplicación donde son ejecutados. Se puede anidar en un bloque anónimo dentro de un programa pre-compilado y dentro de iSQL*Plus o un servidor director. Los triggers en los componentes de Oracle Developer constan de estos bloques.  Sub-Programas.-  son bloques nombrados en PL/SQL que pueden aceptar parámetros y pueden ser invocados. Se los puede declarar como procedimientos o como funcione. Generalmente se usa un procedimiento para ejecutar una acción y una función para computar un valor. UTPL -ORACLE UNIVERSITY
Usando los componentes de Oracle Developer (formas, reportes, y gráficos), tu puedes declarar procedimientos y funciones como parte de la aplicación (un formulario o reporte) y llamar a estos desde otros procedimientos, funciones y triggers dentro de una misma aplicación. NOTA:  Una función es similar a un procedimiento, excepto que una función puede retornar un valor. UTPL -ORACLE UNIVERSITY
UTPL -ORACLE UNIVERSITY
La siguiente tabla contiene una idea general de los conceptos de programa de PL/SQL que usa un bloque básico. UTPL -ORACLE UNIVERSITY
UTPL -ORACLE UNIVERSITY
UTPL -ORACLE UNIVERSITY
Con PL/SQL se puede declarar variables. Las variables pueden ser usadas para lo siguiente: Almacenamiento Temporal de Datos:  los datos pueden ser temporalmente guardados en una o más variables para ser usados cuando se validan los datos de entrada y para el procesamiento después en el proceso de circulación de datos. Manipulación de Valores guardados:  las   variables pueden ser usadas para cálculos y otras manipulaciones de datos sin acceder a la base de datos. UTPL -ORACLE UNIVERSITY
Reusabilidad:  después de ser declaradas, las variables pueden ser usadas repetidamente en una aplicación solo mencionándolas en otras declaraciones, otra declaración de sentencias.  Facilidad de mantenimiento:  cuando use %TYPE y %ROWTYPE, usted declara variables, basando la declaración en la definición de una columna de una base de datos. Si una definición subyacente cambia, la declaración variable cambia en consecuencia al tiempo de ejecución. Esto suministra la independencia de datos, reduce el coste de mantenimiento, y permite que programas se adapten a los cambios de base de datos para cubrir nuevas necesidades de la empresa.  UTPL -ORACLE UNIVERSITY
Declaración y Inicialización de Variables en la sección de declaración:  se puede declarar variables en la parte declarativa de PL/SQL de cualquier bloque, subprograma o paquete. Las declaraciones asignan un espacio para almacenar un valor, especifican el tipo de datos, y nombran la ubicación en donde se va a almacenar con el propósito de hacer referencia al valor. Las declaraciones también pueden atribuir un valor inicial e imponer la restricción NOT NULL en la variable. Se debe declarar una variable antes de mencionarla en otras declaraciones, incluyendo la declaración de otras sentencias. UTPL -ORACLE UNIVERSITY
Asignar nuevos valores para variables en la sección ejecutable:  en la sección ejecutable, el valor existente de la variable es remplazado por un nuevo valor que es asignado para la variable. Paso de valores en subprogramas PL/SQL a través de parámetros:  existen tres modos de parámetros, IN (por defecto), OUT, y IN OUT. Use el parámetro IN para pasar valores al subprograma que está siendo llamado. Use el parámetro OUT para retornas valores al que llama a un subprograma. Y use el parámetro IN OUT para pasar valores iníciales a un subprograma que está siendo llamado y para devolver valores actualizados al que llama al subprograma.  UTPL -ORACLE UNIVERSITY
Todas las variables PL/SQL  tienen un tipo de dato, cuando se especifica el formato de almacenamiento, restricciones y validar el rango de valores. PL/SQL soporta cuatro categorías de tipos de datos: escalar, compuesto, referencia y LOB (objetos grandes), que se pueden utilizar para declarar variables, constantes y punteros. Datos de tipo  escalares  sujetan un solo valor. Los principales tipos de datos son ésos que corresponden a un tipo de columna en las tablas de un servidor Oracle; PL/SQL también soporta variables booleanas. UTPL -ORACLE UNIVERSITY
Datos de tipo  compuesto , como los registros, permiten que grupos de campos sean definidos y manipulados en bloques PL/SQL.  Los tipos de datos de  referencia  sujetan valores, llamados punteros, que designan otros ítems del programa.  Los tipos de datos  LOB  sujetan valores, llamados halladores, eso especifica la ubicación de objetos grandes (como ideas gráficas) que son guardados fuera de línea.   UTPL -ORACLE UNIVERSITY
Sintaxis: Identifier:  es el nombre de la variable CONSTANT:  restringe la variable con el propósito de que su valor no pueda cambiar; las constantes deben ser inicializadas. UTPL -ORACLE UNIVERSITY
Data type:  puede ser  un escalar, compuesto, referenciado o LOB. NOT NULL:  restringe a la variable para que tenga un valor . Expr:  es cualquier expresión PL/SQL que puede ser una expresión  literal, otra variable o una expresión que involucra operadores y funciones.  UTPL -ORACLE UNIVERSITY
Identifier:  es el nombre de la variable escalar Expr:  puede ser una variable, literal o llamada a una función, pero no a una columna de la base de datos. Las variables son inicializadas todo el tiempo en un bloque o subprograma. Por defecto las variables son inicializadas con NULL. Default:  se puede usar la palabra clave de default en lugar del operador de asignación. NOT NULL:  imponer la estricción NOT NULL cuando la variable debe contener un valor. UTPL -ORACLE UNIVERSITY
UTPL -ORACLE UNIVERSITY
UTPL -ORACLE UNIVERSITY
UTPL -ORACLE UNIVERSITY
UTPL -ORACLE UNIVERSITY
Este tipo de variables nos permiten realizar comparaciones a través de expresiones booleanas, estas pueden ser simples o complejas separadas por operadores relacionales. Ejemplo: v_sal1 := 50000; v_sal2 := 60000; La siguiente expresión es verdadera v_sal1 < v_sal2 UTPL -ORACLE UNIVERSITY
Declaración y inicialización de una variable booleana DECLARE v_flag BOOLEAN:= FALSE; BEGIN v_flag := TRUE; END; DBMS_OUTPUT.PUT_LINE Se puede declarar una variable principal o anfitriona, referenciarla en un bloque PL/SQL, y luego presentar su contenido en iSQL*Plus usando el comando PRINT. Otra alternativa para presentar que la información de un bloque de PL/SQL es DBMS_OUTPUT.PUT_LINE es un paquete oracle-supplied, y PUT_LINE es un procedimiento dentro de ese paquete. UTPL -ORACLE UNIVERSITY
Dentro de un bloque PL/SQL, referencia DBMS_OUTPUT.PUT_LINE y entre paréntesis se especifica lo que se quiere que presente. El paquete debe estar primero permitido en una sesión en  iSQL*Plus. Para ejecutar el paquete en iSQL*Plus se debe realizar con el comando SERVEROUTPUT ON. Ejemplo: UTPL -ORACLE UNIVERSITY

Más contenido relacionado

PPS
Curso Básico de Pl Sql Oracle
PPTX
PL SQL Diplomado Oracle
PPT
PPT
Intro sql y plsql
PDF
Apunte plsql
PPTX
Curso de pl sql básico
PPT
Mejoras en T-SQL para SQL Server 2005
PDF
Curso Básico de Pl Sql Oracle
PL SQL Diplomado Oracle
Intro sql y plsql
Apunte plsql
Curso de pl sql básico
Mejoras en T-SQL para SQL Server 2005

La actualidad más candente (18)

PPT
Comandos SQL
PPT
Capitulo 2
PPSX
Lenguaje sql
PPT
Triggers ii
PPT
Lenguaje Sql
PDF
Comandos del-ddl-y-del-dml-liz
PDF
Plsql y paquetes
PPT
Introducción a Sql
DOC
Sentencias Sql
PPTX
Funciones y procedimientos en SQL
PPTX
PPT
Investigacion Uno
DOCX
Sesión03 - Creación de objetos (Oracle)
PPTX
Procedimientos almacenados
PPTX
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos
PPT
Presentacion PL/SQL
PPT
Sql 2010
DOCX
Oracle pl sql
Comandos SQL
Capitulo 2
Lenguaje sql
Triggers ii
Lenguaje Sql
Comandos del-ddl-y-del-dml-liz
Plsql y paquetes
Introducción a Sql
Sentencias Sql
Funciones y procedimientos en SQL
Investigacion Uno
Sesión03 - Creación de objetos (Oracle)
Procedimientos almacenados
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos
Presentacion PL/SQL
Sql 2010
Oracle pl sql
Publicidad

Similar a Cap I Plsql (20)

PDF
Conceptos basicos de programacion con pl sql
PDF
Conceptos_basicos_de_programacion_con_PL.pdf
DOCX
Sesion06b - Introducción al PL-SQL (Oracle)
PDF
M2-C14-2324-modulo2-bases-de-datos—-.pdf
PDF
Yungan geovanny 6_s_ti_2
PDF
01-declaracion-de-variables
 
PDF
71946780 manual-pl-sql-espanol
PDF
U8- BBDD - El lenguaje PLSQL operadores y estructuras de control.pdf
PDF
PLSQL y paquetes
PPT
ppDXGSDGSDGSDGSDGDSGSDGSDGSDGSDGDSGppp.ppt
PPSX
Examen Sandra U Israel Oracle
DOC
Sql Procedural
PPTX
PDF
UF7-PROGRAMACIÓN AVANZADA DE ACCESO A DATOS.pdf
PPTX
Presentación introducción a Matlab y su estructura
DOCX
10 Guía_Fundamentos de Base de Datos.docx
PDF
44777047 oracle
PPTX
PPTX
Tutorial jared
DOCX
Sesion10 - Funciones y procedimientos (Oracle)
Conceptos basicos de programacion con pl sql
Conceptos_basicos_de_programacion_con_PL.pdf
Sesion06b - Introducción al PL-SQL (Oracle)
M2-C14-2324-modulo2-bases-de-datos—-.pdf
Yungan geovanny 6_s_ti_2
01-declaracion-de-variables
 
71946780 manual-pl-sql-espanol
U8- BBDD - El lenguaje PLSQL operadores y estructuras de control.pdf
PLSQL y paquetes
ppDXGSDGSDGSDGSDGDSGSDGSDGSDGSDGDSGppp.ppt
Examen Sandra U Israel Oracle
Sql Procedural
UF7-PROGRAMACIÓN AVANZADA DE ACCESO A DATOS.pdf
Presentación introducción a Matlab y su estructura
10 Guía_Fundamentos de Base de Datos.docx
44777047 oracle
Tutorial jared
Sesion10 - Funciones y procedimientos (Oracle)
Publicidad

Más de Martin Coronel (10)

PPTX
iGod: Chatting with the Almighty
DOCX
Estado del arte v3.0
DOCX
Tesis junio
DOC
Web browsers and semantic metadata
DOC
Anotaciones semanticas recursos
PPT
Anotaciones semanticas
PPT
Presentacion Proyecto Multiprocesamiento
PPT
Parallel Algorithm Models
PPT
Open Innovation
PPT
Trabajando con datos Compuestos
iGod: Chatting with the Almighty
Estado del arte v3.0
Tesis junio
Web browsers and semantic metadata
Anotaciones semanticas recursos
Anotaciones semanticas
Presentacion Proyecto Multiprocesamiento
Parallel Algorithm Models
Open Innovation
Trabajando con datos Compuestos

Último (20)

PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
Presentación de Redes de Datos modelo osi
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
clase auditoria informatica 2025.........
PDF
CyberOps Associate - Cisco Networking Academy
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
taller de informática - LEY DE OHM
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Diapositiva proyecto de vida, materia catedra
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
Calidad desde el Docente y la mejora continua .pdf
PDF
Estrategia de apoyo tecnología miguel angel solis
PDF
Influencia-del-uso-de-redes-sociales.pdf
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPTX
Propuesta BKP servidores con Acronis1.pptx
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Presentación de Redes de Datos modelo osi
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
clase auditoria informatica 2025.........
CyberOps Associate - Cisco Networking Academy
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Presentación PASANTIAS AuditorioOO..pptx
taller de informática - LEY DE OHM
historia_web de la creacion de un navegador_presentacion.pptx
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Diapositiva proyecto de vida, materia catedra
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Calidad desde el Docente y la mejora continua .pdf
Estrategia de apoyo tecnología miguel angel solis
Influencia-del-uso-de-redes-sociales.pdf
introduccion a las_web en el 2025_mejoras.ppt
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Propuesta BKP servidores con Acronis1.pptx

Cap I Plsql

  • 2. PL/SQL, consiste de tres secciones: DECLARE ……… .... BEGIN ………… EXCEPTION ………… .. END; UTPL -ORACLE UNIVERSITY
  • 4. DECLARE v_variable VARCHAR2(5); BEGIN SELECT column_name NTO v_variable FROM table_name; EXCEPTION WHEN exception_name THEN …………… .. END; UTPL -ORACLE UNIVERSITY
  • 5. Toda sentencia termina con [; ] a excepción de las palabras reservadas. Si el bloque es ejecutado exitosamente sin errores de manejo y compilación, aparece el siguiente mensaje: PL/SQL procedure successfully completed END y todas las otras sentencias PL/SQL requieren un punto y coma para terminar la sentencia. Para mejorar la lectura y comprensión es útil usar tabulaciones por sección. UTPL -ORACLE UNIVERSITY
  • 6. NOTA: En PL/SQL a un error se lo llama excepción. Con la modularidad es fácil solucionar un problema complejo esto gracias a que se puede trabajar en módulos. UTPL -ORACLE UNIVERSITY
  • 7. PL/SQL es un programa que tiene uno o más bloques. Estos bloques pueden estar separados o anidados unos con otros. Por lo tanto, un bloque puede representar una pequeña parte de otro bloque. UTPL -ORACLE UNIVERSITY FUNCIÓN FUNCTION name RETURN datatype IS BEGIN ---SENTENCIAS [EXCEPTION] END; BLOQUE ANÓNIMO [DECLARE] BEGIN ---SENTENCIAS [EXCEPTION] END; PROCEDIMIENTO PROCEDURE name IS BEGIN ---SENTENCIAS [EXCEPTION] END;
  • 8. Bloque anónimo.- es un bloque sin nombre. Estos son declarados en un punto en una aplicación donde son ejecutados. Se puede anidar en un bloque anónimo dentro de un programa pre-compilado y dentro de iSQL*Plus o un servidor director. Los triggers en los componentes de Oracle Developer constan de estos bloques. Sub-Programas.- son bloques nombrados en PL/SQL que pueden aceptar parámetros y pueden ser invocados. Se los puede declarar como procedimientos o como funcione. Generalmente se usa un procedimiento para ejecutar una acción y una función para computar un valor. UTPL -ORACLE UNIVERSITY
  • 9. Usando los componentes de Oracle Developer (formas, reportes, y gráficos), tu puedes declarar procedimientos y funciones como parte de la aplicación (un formulario o reporte) y llamar a estos desde otros procedimientos, funciones y triggers dentro de una misma aplicación. NOTA: Una función es similar a un procedimiento, excepto que una función puede retornar un valor. UTPL -ORACLE UNIVERSITY
  • 11. La siguiente tabla contiene una idea general de los conceptos de programa de PL/SQL que usa un bloque básico. UTPL -ORACLE UNIVERSITY
  • 14. Con PL/SQL se puede declarar variables. Las variables pueden ser usadas para lo siguiente: Almacenamiento Temporal de Datos: los datos pueden ser temporalmente guardados en una o más variables para ser usados cuando se validan los datos de entrada y para el procesamiento después en el proceso de circulación de datos. Manipulación de Valores guardados: las variables pueden ser usadas para cálculos y otras manipulaciones de datos sin acceder a la base de datos. UTPL -ORACLE UNIVERSITY
  • 15. Reusabilidad: después de ser declaradas, las variables pueden ser usadas repetidamente en una aplicación solo mencionándolas en otras declaraciones, otra declaración de sentencias. Facilidad de mantenimiento: cuando use %TYPE y %ROWTYPE, usted declara variables, basando la declaración en la definición de una columna de una base de datos. Si una definición subyacente cambia, la declaración variable cambia en consecuencia al tiempo de ejecución. Esto suministra la independencia de datos, reduce el coste de mantenimiento, y permite que programas se adapten a los cambios de base de datos para cubrir nuevas necesidades de la empresa. UTPL -ORACLE UNIVERSITY
  • 16. Declaración y Inicialización de Variables en la sección de declaración: se puede declarar variables en la parte declarativa de PL/SQL de cualquier bloque, subprograma o paquete. Las declaraciones asignan un espacio para almacenar un valor, especifican el tipo de datos, y nombran la ubicación en donde se va a almacenar con el propósito de hacer referencia al valor. Las declaraciones también pueden atribuir un valor inicial e imponer la restricción NOT NULL en la variable. Se debe declarar una variable antes de mencionarla en otras declaraciones, incluyendo la declaración de otras sentencias. UTPL -ORACLE UNIVERSITY
  • 17. Asignar nuevos valores para variables en la sección ejecutable: en la sección ejecutable, el valor existente de la variable es remplazado por un nuevo valor que es asignado para la variable. Paso de valores en subprogramas PL/SQL a través de parámetros: existen tres modos de parámetros, IN (por defecto), OUT, y IN OUT. Use el parámetro IN para pasar valores al subprograma que está siendo llamado. Use el parámetro OUT para retornas valores al que llama a un subprograma. Y use el parámetro IN OUT para pasar valores iníciales a un subprograma que está siendo llamado y para devolver valores actualizados al que llama al subprograma. UTPL -ORACLE UNIVERSITY
  • 18. Todas las variables PL/SQL tienen un tipo de dato, cuando se especifica el formato de almacenamiento, restricciones y validar el rango de valores. PL/SQL soporta cuatro categorías de tipos de datos: escalar, compuesto, referencia y LOB (objetos grandes), que se pueden utilizar para declarar variables, constantes y punteros. Datos de tipo escalares sujetan un solo valor. Los principales tipos de datos son ésos que corresponden a un tipo de columna en las tablas de un servidor Oracle; PL/SQL también soporta variables booleanas. UTPL -ORACLE UNIVERSITY
  • 19. Datos de tipo compuesto , como los registros, permiten que grupos de campos sean definidos y manipulados en bloques PL/SQL. Los tipos de datos de referencia sujetan valores, llamados punteros, que designan otros ítems del programa. Los tipos de datos LOB sujetan valores, llamados halladores, eso especifica la ubicación de objetos grandes (como ideas gráficas) que son guardados fuera de línea. UTPL -ORACLE UNIVERSITY
  • 20. Sintaxis: Identifier: es el nombre de la variable CONSTANT: restringe la variable con el propósito de que su valor no pueda cambiar; las constantes deben ser inicializadas. UTPL -ORACLE UNIVERSITY
  • 21. Data type: puede ser un escalar, compuesto, referenciado o LOB. NOT NULL: restringe a la variable para que tenga un valor . Expr: es cualquier expresión PL/SQL que puede ser una expresión literal, otra variable o una expresión que involucra operadores y funciones. UTPL -ORACLE UNIVERSITY
  • 22. Identifier: es el nombre de la variable escalar Expr: puede ser una variable, literal o llamada a una función, pero no a una columna de la base de datos. Las variables son inicializadas todo el tiempo en un bloque o subprograma. Por defecto las variables son inicializadas con NULL. Default: se puede usar la palabra clave de default en lugar del operador de asignación. NOT NULL: imponer la estricción NOT NULL cuando la variable debe contener un valor. UTPL -ORACLE UNIVERSITY
  • 27. Este tipo de variables nos permiten realizar comparaciones a través de expresiones booleanas, estas pueden ser simples o complejas separadas por operadores relacionales. Ejemplo: v_sal1 := 50000; v_sal2 := 60000; La siguiente expresión es verdadera v_sal1 < v_sal2 UTPL -ORACLE UNIVERSITY
  • 28. Declaración y inicialización de una variable booleana DECLARE v_flag BOOLEAN:= FALSE; BEGIN v_flag := TRUE; END; DBMS_OUTPUT.PUT_LINE Se puede declarar una variable principal o anfitriona, referenciarla en un bloque PL/SQL, y luego presentar su contenido en iSQL*Plus usando el comando PRINT. Otra alternativa para presentar que la información de un bloque de PL/SQL es DBMS_OUTPUT.PUT_LINE es un paquete oracle-supplied, y PUT_LINE es un procedimiento dentro de ese paquete. UTPL -ORACLE UNIVERSITY
  • 29. Dentro de un bloque PL/SQL, referencia DBMS_OUTPUT.PUT_LINE y entre paréntesis se especifica lo que se quiere que presente. El paquete debe estar primero permitido en una sesión en iSQL*Plus. Para ejecutar el paquete en iSQL*Plus se debe realizar con el comando SERVEROUTPUT ON. Ejemplo: UTPL -ORACLE UNIVERSITY