SlideShare una empresa de Scribd logo
1 de 9
¿QUÉ ES UN SUBPROGRAMA?

  Los subprogramas son bloques de
  PL/SQL a los que asignamos un
  nombre identificativo y que
  normalmente almacenamos en la
  propia base de datos para su posterior
  ejecución.
Los subprogramas pueden recibir parámetros.


  Los subprogramas pueden ser de varios tipos:
•Procedimientos almacenados.
•Funciones.
•Triggers.
•Subprogramas en bloques anonimos
PROCEDIMIENTO

Un procedimiento es un subprograma que ejecuta una acción
especifica y que no devuelve ningún valor. Un procedimiento tiene un
nombre, un conjunto de parámetros (opcional) y un bloque de
código.
  La sintaxis de un procedimiento almacenado es la siguiente:

        CREATE [OR REPLACE]
        PROCEDURE <procedure_name> [(<param1> [IN|OUT|IN
        OUT] <type>,
                                     <param2> [IN|OUT|IN
        OUT] <type>, ...)]
        IS
          -- Declaracion de variables locales
        BEGIN
          -- Sentencias
        [EXCEPTION]
          -- Sentencias control de excepcion
        END [<procedure_name>];
FUNCION


Una función es un subprograma que devuelve un valor.

La sintaxis para construir funciones es la siguiente:

    CREATE [OR REPLACE]
    FUNCTION <fn_name>[(<param1> IN <type>, <param2> IN
    <type>, ...)]
    RETURN <return_type>
    IS
      result <return_type>;
    BEGIN

      return(result);
    [EXCEPTION]
      -- Sentencias control de excepcion
    END [<fn_name>];
TRIGGERS
  Un trigger es un bloque PL/SQL asociado a una tabla, que se ejecuta como
consecuencia de una determinada instrucción SQL (una operación DML: INSERT,
UPDATE o DELETE) sobre dicha tabla.

  La sintaxis para crear un trigger es la siguiente:

                 CREATE [OR REPLACE] TRIGGER <nombre_trigger>
                 {BEFORE|AFTER}
                                {DELETE|INSERT|UPDATE [OF col1, col2,
                 ..., colN]
                            [OR {DELETE|INSERT|UPDATE [OF col1, col2,
                 ..., colN]...]}
                 ON <nombre_tabla>
                 [FOR EACH ROW [WHEN (<condicion>)]]
                 DECLARE
                   -- variables locales
                 BEGIN
                   -- Sentencias
                 [EXCEPTION]
                   -- Sentencias control de excepcion
                 END <nombre_trigger>;
BLOQUE ANONIMO


Un programa de PL/SQL está compuesto por bloques. Un programa está
compuesto como mínimo de un bloque.
  Los bloques de PL/SQL pueden ser de los siguientes tipos:
•Bloques anónimos
•Subprogramas
Ejemplo de Procedimiento
 1 CREATE OR REPLACE PROCEDURE MODIFIC
 2 (IDT IN NUMBER,
 3 NEW IN NUMBER)
 4 IS
 5 BEGIN
 6 UPDATE PRICE
 7 SET STDPRICE=NEW
 8 WHERE PRODID=IDT;
 9 COMMIT;
10* END MODIFIC;
11 /

Procedimiento creado.
Como Ejecutarlo


SQL> EXECUTE MODIFIC (100860,58);

Procedimiento PL/SQL terminado con éxito.

SQL> SELECT *
 2 FROM PRICE;

  PRODID STDPRICE MINPRICE STARTDAT ENDDATE
--------- --------- --------- -------- --------
  100860           58         28 01/06/86
  100861           45         36 01/06/86
  101860           24         18 15/02/85

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)
 
Ejemplo de Trigger en Mysql
Ejemplo de Trigger en MysqlEjemplo de Trigger en Mysql
Ejemplo de Trigger en Mysql
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 
Disparadores - base de datos
Disparadores - base de datosDisparadores - base de datos
Disparadores - base de datos
 
Triggers
TriggersTriggers
Triggers
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Trigger
TriggerTrigger
Trigger
 
Disparadores 1213820550525607-9
Disparadores 1213820550525607-9Disparadores 1213820550525607-9
Disparadores 1213820550525607-9
 
gestion de datos de informacion
gestion de datos de informaciongestion de datos de informacion
gestion de datos de informacion
 
Sesion06a - Manipulacion de datos (Oracle)
Sesion06a - Manipulacion de datos (Oracle)Sesion06a - Manipulacion de datos (Oracle)
Sesion06a - Manipulacion de datos (Oracle)
 
Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Triggers o disparadores en MySQL
Triggers o disparadores en MySQL
 
Commit&rollback
Commit&rollbackCommit&rollback
Commit&rollback
 
Disparadores
DisparadoresDisparadores
Disparadores
 
Disparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My SqlDisparadores Trigger En Sql Y My Sql
Disparadores Trigger En Sql Y My Sql
 
Triggers o disparadores
Triggers o disparadoresTriggers o disparadores
Triggers o disparadores
 
Semana 12 y 13 subprogramas triggers
Semana 12 y 13 subprogramas triggersSemana 12 y 13 subprogramas triggers
Semana 12 y 13 subprogramas triggers
 
Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)
 
TRIGGERS
TRIGGERSTRIGGERS
TRIGGERS
 
Triggers en BD mysql
Triggers en BD mysqlTriggers en BD mysql
Triggers en BD mysql
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 

Destacado

Identificar módulos y construir subprogramas con lista de parámetros
Identificar módulos y construir subprogramas con lista de parámetrosIdentificar módulos y construir subprogramas con lista de parámetros
Identificar módulos y construir subprogramas con lista de parámetrosprofe.gguacaran
 
1. algoritmos introducción
1. algoritmos    introducción1. algoritmos    introducción
1. algoritmos introducciónrcarrerah
 
11. subalgoritmos parte ii
11. subalgoritmos parte ii11. subalgoritmos parte ii
11. subalgoritmos parte iircarrerah
 
10. subalgoritmos parte i
10. subalgoritmos parte i10. subalgoritmos parte i
10. subalgoritmos parte ircarrerah
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencialrcarrerah
 

Destacado (7)

Identificar módulos y construir subprogramas con lista de parámetros
Identificar módulos y construir subprogramas con lista de parámetrosIdentificar módulos y construir subprogramas con lista de parámetros
Identificar módulos y construir subprogramas con lista de parámetros
 
Logica subprogramas
Logica subprogramasLogica subprogramas
Logica subprogramas
 
1. algoritmos introducción
1. algoritmos    introducción1. algoritmos    introducción
1. algoritmos introducción
 
11. subalgoritmos parte ii
11. subalgoritmos parte ii11. subalgoritmos parte ii
11. subalgoritmos parte ii
 
SubProgramas
SubProgramasSubProgramas
SubProgramas
 
10. subalgoritmos parte i
10. subalgoritmos parte i10. subalgoritmos parte i
10. subalgoritmos parte i
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencial
 

Similar a Lo que es un subprograma en PL/SQL

Bd L8 Eq9 Pre Rosa Triggers
Bd L8 Eq9 Pre Rosa TriggersBd L8 Eq9 Pre Rosa Triggers
Bd L8 Eq9 Pre Rosa Triggersdemoiselle
 
Store procedure
Store procedureStore procedure
Store procedureLike Music
 
Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)José Toro
 
Manualitosqlserver
ManualitosqlserverManualitosqlserver
ManualitosqlserverOca srl
 
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Sesion06c - Sentencias SQL en PL-SQL (Oracle)Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Sesion06c - Sentencias SQL en PL-SQL (Oracle)José Toro
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggersLuis Jherry
 
Trigger-activadores en sql server
Trigger-activadores en sql serverTrigger-activadores en sql server
Trigger-activadores en sql serverVicente Alberca
 
MANEJO DE SENTENCIAS DE DEFINICION
MANEJO DE SENTENCIAS DE DEFINICIONMANEJO DE SENTENCIAS DE DEFINICION
MANEJO DE SENTENCIAS DE DEFINICIONSergio Perez
 
Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenadoshirmaroxana13
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosJosé Antonio Sandoval Acosta
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggersLuis Jherry
 

Similar a Lo que es un subprograma en PL/SQL (20)

Guia plsql breve
Guia plsql breveGuia plsql breve
Guia plsql breve
 
Bd L8 Eq9 Pre Rosa Triggers
Bd L8 Eq9 Pre Rosa TriggersBd L8 Eq9 Pre Rosa Triggers
Bd L8 Eq9 Pre Rosa Triggers
 
Store procedure
Store procedureStore procedure
Store procedure
 
TRIGGERS-ACTIVADORES
TRIGGERS-ACTIVADORESTRIGGERS-ACTIVADORES
TRIGGERS-ACTIVADORES
 
TRIGGER-ACTIVADORES
TRIGGER-ACTIVADORESTRIGGER-ACTIVADORES
TRIGGER-ACTIVADORES
 
Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)
 
Manualitosqlserver
ManualitosqlserverManualitosqlserver
Manualitosqlserver
 
Trigger activadores
Trigger    activadoresTrigger    activadores
Trigger activadores
 
Basedatos1
Basedatos1Basedatos1
Basedatos1
 
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Sesion06c - Sentencias SQL en PL-SQL (Oracle)Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 
Trigger-activadores en sql server
Trigger-activadores en sql serverTrigger-activadores en sql server
Trigger-activadores en sql server
 
Trigger activadores
Trigger activadoresTrigger activadores
Trigger activadores
 
MANEJO DE SENTENCIAS DE DEFINICION
MANEJO DE SENTENCIAS DE DEFINICIONMANEJO DE SENTENCIAS DE DEFINICION
MANEJO DE SENTENCIAS DE DEFINICION
 
Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenados
 
Fundamentos de SELECT SQL
Fundamentos de SELECT SQLFundamentos de SELECT SQL
Fundamentos de SELECT SQL
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Sql 2010
Sql 2010Sql 2010
Sql 2010
 
7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenados
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 

Último

instrumentos de mercados financieros para estudiantes
instrumentos de mercados financieros  para estudiantesinstrumentos de mercados financieros  para estudiantes
instrumentos de mercados financieros para estudiantessuperamigo2014
 
informacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfinformacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfPriscilaBermello
 
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESACOPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESADanielAndresBrand
 
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docxModelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docxedwinrojas836235
 
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfConstructiva
 
AUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxAUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxMatiasGodoy33
 
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYCarlosAlbertoVillafu3
 
MARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxMARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxgabyardon485
 
IDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDINGIDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDINGAndresGEscobar
 
Presentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxPresentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxDanielFerreiraDuran1
 
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODATEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODACarmeloPrez1
 
Efectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxEfectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxCONSTRUCTORAEINVERSI3
 
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosmodelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosk7v476sp7t
 
Continex para educación, Portafolio de servicios
Continex para educación, Portafolio de serviciosContinex para educación, Portafolio de servicios
Continex para educación, Portafolio de serviciosFundación YOD YOD
 
ISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónjesuscub33
 
EGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptxEGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptxDr. Edwin Hernandez
 
fracturas de antebhbunununrazo [II].pptx
fracturas de antebhbunununrazo  [II].pptxfracturas de antebhbunununrazo  [II].pptx
fracturas de antebhbunununrazo [II].pptxkarlagonzalez159945
 
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptxTIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptxKevinHeredia14
 
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAOANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAOCarlosAlbertoVillafu3
 

Último (20)

instrumentos de mercados financieros para estudiantes
instrumentos de mercados financieros  para estudiantesinstrumentos de mercados financieros  para estudiantes
instrumentos de mercados financieros para estudiantes
 
informacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfinformacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdf
 
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESACOPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
 
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docxModelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docx
 
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
 
AUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxAUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptx
 
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
 
MARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxMARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptx
 
IDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDINGIDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDING
 
Presentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxPresentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptx
 
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODATEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
TEMA N° 3.2 DISENO DE ESTRATEGIA y ANALISIS FODA
 
Efectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxEfectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptx
 
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosmodelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
 
Continex para educación, Portafolio de servicios
Continex para educación, Portafolio de serviciosContinex para educación, Portafolio de servicios
Continex para educación, Portafolio de servicios
 
ISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarización
 
EGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptxEGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptx
 
Walmectratoresagricolas Trator NH TM7040.pdf
Walmectratoresagricolas Trator NH TM7040.pdfWalmectratoresagricolas Trator NH TM7040.pdf
Walmectratoresagricolas Trator NH TM7040.pdf
 
fracturas de antebhbunununrazo [II].pptx
fracturas de antebhbunununrazo  [II].pptxfracturas de antebhbunununrazo  [II].pptx
fracturas de antebhbunununrazo [II].pptx
 
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptxTIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
 
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAOANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
 

Lo que es un subprograma en PL/SQL

  • 1.
  • 2. ¿QUÉ ES UN SUBPROGRAMA? Los subprogramas son bloques de PL/SQL a los que asignamos un nombre identificativo y que normalmente almacenamos en la propia base de datos para su posterior ejecución.
  • 3. Los subprogramas pueden recibir parámetros. Los subprogramas pueden ser de varios tipos: •Procedimientos almacenados. •Funciones. •Triggers. •Subprogramas en bloques anonimos
  • 4. PROCEDIMIENTO Un procedimiento es un subprograma que ejecuta una acción especifica y que no devuelve ningún valor. Un procedimiento tiene un nombre, un conjunto de parámetros (opcional) y un bloque de código. La sintaxis de un procedimiento almacenado es la siguiente: CREATE [OR REPLACE] PROCEDURE <procedure_name> [(<param1> [IN|OUT|IN OUT] <type>, <param2> [IN|OUT|IN OUT] <type>, ...)] IS -- Declaracion de variables locales BEGIN -- Sentencias [EXCEPTION] -- Sentencias control de excepcion END [<procedure_name>];
  • 5. FUNCION Una función es un subprograma que devuelve un valor. La sintaxis para construir funciones es la siguiente: CREATE [OR REPLACE] FUNCTION <fn_name>[(<param1> IN <type>, <param2> IN <type>, ...)] RETURN <return_type> IS result <return_type>; BEGIN return(result); [EXCEPTION] -- Sentencias control de excepcion END [<fn_name>];
  • 6. TRIGGERS Un trigger es un bloque PL/SQL asociado a una tabla, que se ejecuta como consecuencia de una determinada instrucción SQL (una operación DML: INSERT, UPDATE o DELETE) sobre dicha tabla. La sintaxis para crear un trigger es la siguiente: CREATE [OR REPLACE] TRIGGER <nombre_trigger> {BEFORE|AFTER} {DELETE|INSERT|UPDATE [OF col1, col2, ..., colN] [OR {DELETE|INSERT|UPDATE [OF col1, col2, ..., colN]...]} ON <nombre_tabla> [FOR EACH ROW [WHEN (<condicion>)]] DECLARE -- variables locales BEGIN -- Sentencias [EXCEPTION] -- Sentencias control de excepcion END <nombre_trigger>;
  • 7. BLOQUE ANONIMO Un programa de PL/SQL está compuesto por bloques. Un programa está compuesto como mínimo de un bloque. Los bloques de PL/SQL pueden ser de los siguientes tipos: •Bloques anónimos •Subprogramas
  • 8. Ejemplo de Procedimiento 1 CREATE OR REPLACE PROCEDURE MODIFIC 2 (IDT IN NUMBER, 3 NEW IN NUMBER) 4 IS 5 BEGIN 6 UPDATE PRICE 7 SET STDPRICE=NEW 8 WHERE PRODID=IDT; 9 COMMIT; 10* END MODIFIC; 11 / Procedimiento creado.
  • 9. Como Ejecutarlo SQL> EXECUTE MODIFIC (100860,58); Procedimiento PL/SQL terminado con éxito. SQL> SELECT * 2 FROM PRICE; PRODID STDPRICE MINPRICE STARTDAT ENDDATE --------- --------- --------- -------- -------- 100860 58 28 01/06/86 100861 45 36 01/06/86 101860 24 18 15/02/85