Enlaces relacionados:
|
|
- Beatriz Gómez Ramírez
- hace 8 años
- Vistas:
Transcripción
1 1.INTRODUCCION PL/SQL (Procedural Language ó Programming Language, según distintas fuentes, aunque la oficial es la primera) es el lenguaje utilizado por Oracle como extensión al SQL, y que nos va a permitir introducir los elementos existentes en los demás lenguajes de programación y dirigir el flujo de un programa mediante bloques de código. El elemento principal del PL/SQL es el bloque, que como acabamos de decir contendrá sentencias condicionales, bucles, llamadas a procedimientos y/o funciones, etc... Enlaces relacionados: 2.BLOQUES Veremos que hay dos tipos de bloques (anónimos y nombrados) y que estos se utilizan en todas las construcciones PL/SQL: Bloques anónimos, Disparadores de aplicación (para Forms, Reports, Graphics, y las herramientas de desarrollo nativas de Oracle), Disparadores de Base de datos, Procedimientos o funciones almacenada en la Base de datos, Procedimientos o funciones de aplicación (para Forms, Reports, Graphics, y las herramientas de desarrollo nativas de Oracle) y Paquetes de Base de datos (dejaremos aparte los tipos de objetos, ya que no los abordaremos en este curso, sólo recordar que Oracle 8 es una base de datos orientada a objetos y estos forman parte de la BD). Cada estructura PL/SQL contiene uno o más bloques. Los bloques pueden estar separados uno tras otro o anidados unos dentro de otros BLOQUES ANONIMOS Los bloques anónimos son, como su nombre indica, bloques sin nombre. Se ejecutan normalmente como scripts independientes o dentro de una aplicación. La estructura es la siguiente: DECLARE (opcional) Definición de variables, tipos y objetos a utilizar en el bloque. Sentencias ejecutables (opcional) Acciones a realizar si ocurre algún error en las sentencias ejecutables. END ; Los elementos y END son obligatorios e incluyen las sentencias a ejecutar. La sección DECLARE es opcional y nos servirá para declarar las variables, constantes, cursores y excepciones definidas por el usuario que vamos a usar dentro del bloque. La sección es también opcional y es la encargada de atrapar los errores, en caso de que se produzcan y realizar las acciones oportunas según el tipo de excepción. Esta sección debe preceder inmediatamente a END. Como podéis observar el punto y coma va solamente en el END ya que se considera al bloque como un todo, pero Pág 1 de 9
2 dentro de la sección, las instrucciones deben ir siempre terminadas por el punto y coma. Como siempre, vamos a ver un ejemplo para aclarar las cosas: DECLARE WHERE codigo=1 ; Veamos: en la sección DECLARE establecemos la variable v_nombre del mismo tipo y longitud que el campo nombre de la tabla EMPLEADOS para recoger ese dato en el programa. Después del ejecutamos una sentencia SELECT con la particularidad de la clausula INTO que provoca que el campo nombre se guarde en la variable v_nombre. En este caso buscamos el nombre del empleado cuyo código es el 1. Finalmente, terminamos el bloque con Vale, todo correcto, pero supongamos que la sentencia SELECT no recupera ningún registro porque no hay registros grabados, o porque no existe el empleado 1, o simplemente porque se produce un error de sistema. Para eso está la sección : DECLARE WHERE codigo=1 ; Si no se encuentra ningún registro que cumpla las condiciones de la sentencia SELECT, se lanza una excepción NO_DATA_FOUND y la sección la capturará, almacenando en la variable v_error el mensaje apropiado. Otra cosa será lo que hagamos con ello después. Si se produce cualquier otra excepción, se capturará por WHEN OTHERS que recoge cualquier excepción que no se haya especificado antes, por lo que es muy conveniente ponerla siempre. La gestión de excepciones la iremos viendo a medida que avancemos ya que es bastante ilustrativo hacerlo así. Considero que dedicar un capítulo a las excepciones puede llegar a ser inútil si las vamos explicando paso a paso. Importante indicar que una SELECT dentro de un bloque PL/SQL solo puede devolver un registro. En este caso no nos hemos preocupado del asunto pues el campo codigo es clave primaria de la tabla EMPLEADOS. Pág 2 de 9
3 2.2.- BLOQUES NOMBRADOS (SUBPROGRAMAS) Los subprogramas son bloques nombrados que pueden tener parámetros y ser llamados por otros bloques. PL/SQL dispone de dos tipos: procedimientos y funciones. Ambos pueden residir en la aplicación o en la propia base de datos. Su estructura es la siguiente: Cabecera IS Definición de variables, tipos y objetos a utilizar en el bloque. Sentencias ejecutables (opcional) Acciones a realizar si ocurre algún error en las sentencias ejecutables. END ; Como podéis la diferencia con los bloques anónimos está en la sección de declaraciones. Aquí no se usa DECLARE y sin embargo tenemos una Cabecera que consta de: Si se trata de un procedimiento: PROCEDURE nombre_procedimiento(parametros) Si se trata de una función: FUNCTION nombre_funcion(parametros) RETURN tipo Los parámetros son opcionales y pueden ser de entrada, de salida o de entrada y salida al mismo tiempo. En el caso de las funciones, el tipo devuelto especifica el tipo de dato que devuelve la función mediante la sentencia RETURN expresión. Que se especifica en la sección ejecutable y en la de. Es muy importante recordar que una función SIEMPRE debe devolver un valor, por lo que hay que tener especial atención a los errores que se puedan generar, capturarlos y devolver un valor incluso en caso de error. Como siempre, unos ejemplos: PROCEDIMIENTO: PROCEDURE nombre_empleado(p_codigo IN NUMBER) IS WHERE codigo=p_codigo ; Pág 3 de 9
4 Vemos la sección de cabecera con el nombre del procedimiento y el parámetro pasado (IN = de entrada). Claro, ahora más de uno dirá: y para qué sirve este procedimiento si el nombre del empleado que recuperamos, se queda en la variable v_nombre. Cierto, pero tranquilos, vamos a ver los parámetros de salida y resolvemos el problema. De nuevo escribimos nuestro procedimiento: PROCEDURE nombre_empleado(p_codigo IN NUMBER, P_NOMBRE OUT VARCHAR2) IS P_NOMBRE := NULL; SELECT nombre INTO P_NOMBRE WHERE codigo=p_codigo ; Ahora en el parámetro P_NOMBRE saldrá (OUT) el nombre del empleado que hemos recuperado. Como se puede ver, he eliminado la variable v_nombre de la sección de declaraciones ya que ahora no nos hace falta, y en la SELECT INTO metemos el valor directamente en el parámetro de salida P_NOMBRE. También vemos que justo antes de la SELECT asignamos el valor NULL al parámetro. Esto no es obligatorio, pero es buena costumbre ya que así, en caso de error, el parámetro P_NOMBRE contendrá un valor: el valor NULL. FUNCION: El mismo ejemplo pero con una función: FUNCTION nombre_empleado(p_codigo IN NUMBER) RETURN VARCHAR2 IS WHERE codigo=p_codigo ; RETURN v_nombre; RETURN v_error ; RETURN v_error ; Por supuesto, una función puede devolver más de un valor haciendo uso de los parámetros de salida (OUT). Pág 4 de 9
5 Observar que aunque se produzca un error hacemos que la función devuelva un valor. Esto lo hacemos así ya que cuando se produce una excepción dentro de un bloque, se ejecuta el código del manejador de la excepción y se finaliza la ejecución del código del bloque en cuestión. Es decir, en el caso anterior, si se produce un error, la función devolverá el valor de v_error y no el de v_nombre ya la sentencia RETURN v_nombre no se llega a ejecutar. Hemos dicho que los bloques nombrados, ya sean procedimientos o funciones pueden estar almacenados en la aplicación o en la base de datos. Durante el curso nos ceñiremos al caso de almacenarlos en la base de datos ya que escapa a este documento el entrar a explicar las herramientas de desarrollo nativas de Oracle (Developer, Discover, etc...). En este sentido, podemos utilizar para almacenar los procedimientos o funciones en la base de datos, las aplicaciones suministradas por Oracle (Procedure Builder) o utilizar aplicaciones de terceros (SQL Navigator, Toad, etc..), pero insisto, vamos a suponer que solo tenemos un editor de textos y la herramienta SQL*Plus para poder ejecutar sentencias o scripts SQL. Dicho esto, ahora os preguntareis: como almaceno la función anterior en la base de datos entonces?. Vamos a verlo: CREATE OR REPLACE FUNCTION nombre_empleado(p_codigo IN NUMBER) RETURN VARCHAR2 IS WHERE codigo=p_codigo ; RETURN v_nombre; RETURN v_error ; RETURN v_error ; / Así de sencillo. Ponemos delante CREATE OR REPLACE para crearla o sustituirla en caso de que ya exista y de esta forma queda almacenada en la base de datos. Fácil no?. Con un procedimiento lo haríamos igual. La clausula OR REPLACE es opcional como habréis deducido ya. El lector atento se habrá dado cuenta de la barra / al final. Sí, no se trata de un error. Es para que SQL*Plus ejecute el código directamente. No voy a tratar el SQL*Plus ya que tampoco es necesario para aprender PL/SQL, aunque es la herramienta básica, al final la mayoría usamos otras herramientas más avanzadas (SQL*Plus es una consola de SQL y poco más). Y cómo borro lo que acabo de almacenar en la base de datos?. La sentencia para borrar un procedimiento almacenado en la base de datos es: Pág 5 de 9
6 DROP PROCEDURE nombre_procedimiento ; Y,de forma análoga, para borrar una función almacenada: DROP FUNCTION nombre_funcion ; Es importante recordar que no hay posibilidad de ROLLBACK después de una sentencia DDL, por lo que una instrucción DROP es definitiva (aviso para los gatillos rápidos ). Volveremos a los procedimientos y funciones más adelante BLOQUES ANIDADOS Ya hemos comentado que los bloques se pueden anidar, ya sea con los bloques anónimos como con los nombrados. El concepto es muy sencillo y, básicamente, consiste en encerrar entre END los bloques de código susceptibles de provocar algún error para así poder capturarlo y proceder en consecuencia. Por ejemplo: supongamos que tenemos un procedimiento que inserta un registro en la tabla DEPARTAMENTOS y actualiza en EMPLEADOS el departamento de un empleado con el nuevo creado. Pero sólo debe realizarse la transacción si se tiene éxito en los dos casos. Por supuesto, si no se puede realizar la inserción del departamento, es absurdo intentar actualizar el departamento del empleado ya que no existirá (falló la inserción) PROCEDURE INSERTA_DEP_EMP(p_departamento IN NUMBER, p_nom_departamento IN VARCHAR2, p_cod_empleado IN NUMBER p_resultado OUT VARCHAR2) IS -- Primer bloque. Anidado dentro del bloque principal INSERT INTO DEPARTAMENTOS VALUES(p_departamento, p_nom_departamento); -- Segundo bloque. Anidado dentro del bloque del INSERT -- Se ejecutará si no se produjo error en el anterior. UPDATE EMPLEADOS SET departamento=p_departamento WHERE codigo=p_cod_empleado ; -- AQUI LLEGAMOS SI NO SE PRODUJO NINGUNA EXCEPCION -- GRABAMOS LA TRANSACCION. COMMIT; ROLLBACK ; p_resultado := 'Error al actualizar el empleado'; p_resultado := 'Error al insertar Departamento'; Pág 6 de 9
7 Esta es una forma de hacerlo, sobre todo para poder observar perfectamente el anidamiento de los bloques y el control de las excepciones (errores). Daros cuenta que insertamos el registro y si todo ha ido bien, actualizamos el registro del empleado con el nuevo departamento. Si también ha tenido éxito el update, hacemos el commit, grabando así la transacción. Si falla el insert, devolvemos en la variable p_resultado la causa del error y no hemos hecho nada. Si lo que falla es el update posterior, deshacemos la inserción (ROLLBACK) y devolvemos la causa del error. También podríamos haber colocado un SAVEPOINT al principio para hacer el ROLLBACK TO SAVEPOINT en lugar del ROLLBACK, asegurándonos así que solo deshacemos el insert y no alguna transacción pendiente que pudiera haber. El código final sería: PROCEDURE INSERTA_DEP_EMP(p_departamento IN NUMBER, p_nom_departamento IN VARCHAR2, p_cod_empleado IN NUMBER p_resultado OUT VARCHAR2) IS -- Primer bloque. Anidado dentro del bloque principal SAVEPOINT trans1 INSERT INTO DEPARTAMENTOS VALUES(p_departamento, p_nom_departamento); -- Segundo bloque. Anidado dentro del bloque del INSERT -- Se ejecutará si no se produjo error en el anterior. UPDATE EMPLEADOS SET departamento=p_departamento WHERE codigo=p_cod_empleado ; -- AQUI LLEGAMOS SI NO SE PRODUJO NINGUNA EXCEPCION -- GRABAMOS LA TRANSACCION. COMMIT; ROLLBACK TO SAVEPOINT trans1; p_resultado := 'Error al actualizar el empleado'; p_resultado := 'Error al insertar Departamento'; El tema de los bloques anidados es muy útil. Otra aplicación interesante es la de buscar un valor en una tabla y si no existe, proceder a ejecutar una serie de instrucciones. Por ejemplo: en el caso anterior, si el departamento que vamos a insertar NO existe, lo insertamos, si ya existe solo actualizaremos el departamento al empleado. Veamos el código comentado: Pág 7 de 9
8 PROCEDURE INSERTA_DEP_EMP(p_departamento IN NUMBER, p_nom_departamento IN VARCHAR2, p_cod_empleado IN NUMBER p_resultado OUT VARCHAR2) IS SAVEPOINT trans1 -- Primer bloque. Anidado dentro del bloque principal -- BUSCAMOS EL DEPARTAMENTO SELECT codigo FROM DEPARTAMENTOS WHERE codigo=p_departamento ; -- No existe, así que lo insertamos (LO INTENTAMOS) -- OTRO BLOQUE ANIDADO. INSERT INTO DEPARTAMENTOS VALUES(p_departamento, p_nom_departamento); p_resultado := 'Error al insertar Departamento'; -- Segundo bloque. Anidado dentro del bloque principal -- Tanto si ya existía el departamento, como si se ha -- insertado nuevo, actualizamos el empleado. UPDATE EMPLEADOS SET departamento=p_departamento WHERE codigo=p_cod_empleado ; -- AQUI LLEGAMOS SI NO SE PRODUJO NINGUNA EXCEPCION -- GRABAMOS LA TRANSACCION. COMMIT; ROLLBACK TO SAVEPOINT trans1; p_resultado := 'Error al actualizar el empleado'; En este código falta algo, pero volveremos a él cuando veamos las excepciones definidas por usuario y cómo lanzar una excepción de forma intencionada. En particular falta un RAISE <excepcion> (además una excepción especial) para forzar la interrupción de la ejecución del código. Daros cuenta que ya dijimos que cuando se produce una excepción se ejecuta el código del manejador que la gestiona y se finaliza el bloque actual. Pero fijaros en el código anterior. Si el INSERT falla, se carga el texto en la variable p_resultado y se finaliza la ejecución del bloque, pero nada impide que se ejecute el código del siguiente bloque (el azul). De momento lo controlaremos con una variable lógica que nos indique si tenemos que realizar la actualización. De este modo además, vemos la sentencia IF THEN END IF; de control de flujo como adelanto. Ahí va el código correspondiente: Pág 8 de 9
9 PROCEDURE INSERTA_DEP_EMP(p_departamento IN NUMBER, p_nom_departamento IN VARCHAR2, p_cod_empleado IN NUMBER p_resultado OUT VARCHAR2) IS updateamos BOOLEAN; updateamos := TRUE ; SAVEPOINT trans1 -- Primer bloque. Anidado dentro del bloque principal -- BUSCAMOS EL DEPARTAMENTO SELECT codigo FROM DEPARTAMENTOS WHERE codigo=p_departamento ; -- No existe, así que lo insertamos (LO INTENTAMOS) -- OTRO BLOQUE ANIDADO. INSERT INTO DEPARTAMENTOS VALUES(p_departamento, p_nom_departamento); updateamos := FALSE ; p_resultado := 'Error al insertar Departamento'; -- Segundo bloque. Anidado dentro del bloque principal -- Tanto si ya existía el departamento, como si se ha -- insertado nuevo, actualizamos el empleado. -- Siempre y cuando no haya habido error. IF updateamos THEN UPDATE EMPLEADOS SET departamento=p_departamento WHERE codigo=p_cod_empleado ; -- AQUI LLEGAMOS SI NO SE PRODUJO NINGUNA EXCEPCION -- GRABAMOS LA TRANSACCION. COMMIT; ROLLBACK TO SAVEPOINT trans1; p_resultado := 'Error al actualizar el empleado'; END IF; Como podéis ver, el tema de bloques anidados da para mucho. Podéis empezar a imaginar las muchas posibilidades que tienen y cuando veamos las excepciones predefinidas y las definibles por usuario un poco más adelante, le sacaremos más partido aún. Pág 9 de 9
Los paquetes tienen dos partes: una especificación y un cuerpo que están almacenados por separado en la base de datos.
8. PAQUETES DE BASE DE DATOS Los paquetes nos van a permitir agrupar conceptos PL/SQL como pueden ser tipos, procedimientos y funciones. Por ejemplo: una paquete de Contabilidad podrá contener procedimientos
Más detallesSintaxis: CURSOR nombre_cursor[(param1 [IN] tipo1,... )] IS consulta ;
7. CONCEPTOS AVANZADOS DE CURSORES EXPLICITOS En este capítulo veremos algunas cosas bastante útiles respecto a los cursores explícitos, como pueden ser los cursores con parámetros (que nos permitirán
Más detallesPL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:
PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los
Más detallesPHP Perfect SQL v1.0 (SQL perfectas en PHP)
PHP Perfect SQL v1.0 (SQL perfectas en PHP) Muchas veces cuando programamos para web es muy fácil cometer errores en la construcción sintáctica de consultas SQL, por ejemplo cuando tenemos que realizar
Más detallesUn ejemplo teórico de trigger podría ser éste:
9. TRIGGERS EN LA BASE DE DATOS Un trigger (disparador sería la traducción técnica) es un bloque PLSQL que se ejecuta implícitamente cuando ocurre un evento y pueden ser de base de datos o de aplicación.
Más detallesCONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.
CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia
Más detallesPrograma diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.
Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.
Más detallesEn términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas.
1 de 18 Inicio Qué es un foro En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas. En el campus virtual, el foro es una herramienta
Más detalles1. DML. Las subconsultas
1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se
Más detallesLAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en
Más detallesModulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Más detallesOracle básico (IV): Programación en PL/SQL
Oracle básico (IV): Programación en PL/SQL El lenguaje de programación de Oracle, llamado PL/SQL, es un lenguaje portable, procedural y de transacción muy potente y de fácil manejo, con las siguientes
Más detallesTransacciones y bloqueos en SQL-Server
Transacciones y bloqueos en SQL-Server (Información para el uso desde Axapta) Introducción En este documento vamos a intentar explicar cuatro conceptos básicos acerca de las transacciones y los bloqueos
Más detallesUso de Visual C++ Pre-Practica No. 3
Pre-Practica No. 3 Uso de Visual C++ Microsoft Visual C++ 2010 es una versión de Visual Studio específica para el lenguaje de programación C++. Es un entorno de desarrollo muy completo y profesional. Por
Más detallesGUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE
ÍNDICE ACCESO A LA APLICACIÓN... 2 1.- HOMOLOGACIÓN DE CURSOS... 4 1.1.- INICIAR EXPEDIENTE... 4 1.2.- CONSULTA DE EXPEDIENTES... 13 1.3.- RENUNCIA A LA HOMOLOGACIÓN... 16 2.- MECÁNICA DE CURSOS... 19
Más detallesGestión de Retales WhitePaper Noviembre de 2009
Gestión de Retales WhitePaper Noviembre de 2009 Contenidos 1. Introducción 3 2. Almacén de retales 4 3. Propiedades de los materiales 6 4. Alta de retales 8 5. Utilización de retales en un lote de producción
Más detallesCOMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN
COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos
Más detallesActualmente existen dos maneras de enviar y publicar las estadísticas en la página web de la Federación Española de Baloncesto:
MANUAL ENVÍO Y PUBLICACIÓN DE ESTADÍSTICAS: Este manual está orientado a todos aquellos estadísticos de clubes que actualmente NO realizan Jornada Virtual a través de http://baloncestoenvivo.feb.es. Como
Más detallesCONSULTAS BASICAS EN SQL SERVER
CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta
Más detallesEjercicios - Persistencia en Android: ficheros y SQLite
Ejercicios - Persistencia en Android: ficheros y SQLite Índice 1 Uso de ficheros (0.5 puntos)...2 2 Persistencia con ficheros (0.5 puntos)...3 3 Base de datos: SQLiteOpenHelper (0.5 puntos)... 3 4 Base
Más detallesE16 - Diseño de Sistemas de Bases de Datos Boletín 3
E16 - Diseño de Sistemas de Bases de Datos Boletín 3 Nombre: 1. Esta práctica está dedicada a la creación de disparadores sobre sentencias DDL (lenguaje de definición de datos) y sobre eventos de la Base
Más detallesTEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS
TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS 1) EL PEQUEÑO EDITOR El Bloc de notas de Windows XP es un básico editor de texto con el que podemos escribir anotaciones, de hasta 1024 caracteres por línea y
Más detallesProcedimientos, Funciones, Trigger y Cursores en ORACLE
Procedimientos, Funciones, Trigger y Cursores en ORACLE PROCEDIMIENTOS ALMACENADOS Un procedimiento almacenado es un conjunto de instrucciones en PL/SQL, que pueden ser llamados usando el nombre que se
Más detallesManual de usuario Noticias y Accesos Directos en Facultades ÍNDICE
Manual de usuario Noticias y Accesos Directos en Facultades ÍNDICE 1. PARA QUÉ SIRVE ESTA APLICACIÓN? 2. QUIÉN PUEDE HACER USO DE ELLA? 3. CÓMO SE UTILIZA? 1. PARA QUE SIRVE ESTA APLICACIÓN? El objeto
Más detallesCONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES
Tema 6. CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES TRANSACCIONES Una transacción es una unidad lógica de trabajo o procesamiento (ejecución de un programa que incluye operaciones de acceso a la base de
Más detallesCurso de PHP con MySQL Gratis
Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este
Más detallesIniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus
Iniciando con Oracle Índice de contenido Ingresando a Oracle...1 Cambiando Su Contraseña...1 Ingresando un Comando SQL en SQL*Plus...2 Saliendo de SQL*Plus...2 Consiguiendo Ayuda...2 Creación de una Tabla...3
Más detallesConectar Flash con Access usando MDM Zinc
Conectar Flash con Access usando MDM Zinc Con este tutorial pretendo enseñar la conexión básica entre Flash / Actionscript y Microsoft Access mediante MDM Zinc, para poder empezar a crear aplicaciones
Más detallesTEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL
TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL 5.6 MODIFICACIÓN DE LA BASE DE DATOS SQL posee comandos destinados también para modificar la base de datos, entre estos se tienen operaciones de borrado,
Más detallesUNIDAD 1. LOS NÚMEROS ENTEROS.
UNIDAD 1. LOS NÚMEROS ENTEROS. Al final deberás haber aprendido... Interpretar y expresar números enteros. Representar números enteros en la recta numérica. Comparar y ordenar números enteros. Realizar
Más detallesPráctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP
Práctica 9 GESTIÓN Y UTILIZACIÓN DE REDES LOCALES Curso 2001/2002 TCP/IP: protocolo TCP Introducción Como se ha comentado en la práctica anterior, el protocolo UDP es muy sencillo de implementar, pero
Más detalles6 - Recuperar algunos registros (where)
6 - Recuperar algunos registros (where) Hemos aprendido a seleccionar algunos campos de una tabla. También es posible recuperar algunos registros. Existe una cláusula, "where" con la cual podemos especificar
Más detallesMANUAL COPIAS DE SEGURIDAD
MANUAL COPIAS DE SEGURIDAD Índice de contenido Ventajas del nuevo sistema de copia de seguridad...2 Actualización de la configuración...2 Pantalla de configuración...3 Configuración de las rutas...4 Carpeta
Más detallesLa ventana de Microsoft Excel
Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft
Más detallesHerramienta Encuestas. MiAulario
Herramienta Encuestas MiAulario Introducción... 2 Menú de la herramienta... 3 Panel de encuestas... 3 Mis encuestas... 4 Añadir encuesta... 4 Mis plantillas... 7 Añadir elemento: pregunta o cabecera...
Más detallesCuestionario: Programación en C y máscaras (II)
Este documento es un autotest de ayuda enmarcado en la asignatura Informática Industrial y corresponde al tema Programación en C, pero es abierto y puede servir para entender el funcionamiento básico de
Más detallesMANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS
MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS En este manual aprenderemos a introducir un Ticket de Soporte (Incidencia Informática) y ver todo el proceso hasta que se resuelve. Para poder escribir Tickets
Más detallesGuia de realización de un GIG personal en nuestra página web (http://zunzuneguibhi.net):
Crear un GIG en la web del instituto Zunzunegui (v2) Guillermo Hierrezuelo Guia de realización de un GIG personal en nuestra página web (http://zunzuneguibhi.net): PREÁMBULO: entrar a nuestra página; navegadores
Más detallesProcedimientos Almacenados con InterBase
Procedimientos Almacenados con InterBase Por Alfonso Ricaño Bringas Los Procedimientos Almacenados son otra característica interesante con la que cuenta InterBase. En este artículo muestro una introducción
Más detallesInstrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A)
aprenderaprogramar.com Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A) Sección: Cursos Categoría: Curso Bases de la programación
Más detallesBases de datos relacionales y el modelo entidad-relación
Bases de datos relacionales y el modelo entidad-relación Qué es una base de datos relacional? El sistema gestor de bases de datos El modelo entidad-relación entidad, atributos y elementos (tablas, columnas
Más detallesTrazabilidad ERP Microsa Gestión de Lotes
Fecha revisión: 11/10/2004 La rastreabilidad o trazabilidad (del inglés traceability) representa el rastreo de un producto desde un punto cualquiera de la cadena de suministro hasta el origen u orígenes,
Más detallesBase de datos Procedimientos Almacenados y Funciones
Base de datos Procedimientos Almacenados y Eduardo Saavedra A. Universidad Nacional Andrés Bello 4 de noviembre de 2008 Contenidos Ventajas 1 Ventajas 2 3 4 5 Conceptos Ejemplo 6 Procedimiento Almacenado
Más detalles15 CORREO WEB CORREO WEB
CORREO WEB Anteriormente Hemos visto cómo funciona el correo electrónico, y cómo necesitábamos tener un programa cliente (Outlook Express) para gestionar los mensajes de correo electrónico. Sin embargo,
Más detallesA25. Informática aplicada a la gestión Curso 2005/2006 Excel Tema 7. Funciones avanzadas de Excel II
DEPARTAMENTO DE LENGUAJES Y SISTEMAS INFORMÁTICOS ESCUELA SUPERIOR DE TECNOLOGÍA Y CIENCIAS EXPERIMENTALES A.D.E.M. Segundo Curso A25. Informática aplicada a la gestión Curso 2005/2006 Excel Tema 7. Funciones
Más detallesUnidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros
Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia
Más detallesFOCO- LIQUIDACIÓN: DUDAS MÁS FRECUENTES
FOCO- LIQUIDACIÓN: DUDAS MÁS FRECUENTES LIQUIDACIÓN 1. Por qué al realizar una liquidación parcial no me aparece ningún curso? Es necesario saber si los cursos que deseo imputar tienen el F-40 validado,
Más detallesAño: 2008 Página 1 de 18
Lección 2. Cuestiones de tipo técnico que debemos o podemos realizar 2.1. Copia de seguridad 2.2. Introducción de contraseña 2.3. Parámetros generales 2.4. Avisos 2.5. Calculadora 2.6. Acceso a casos prácticos
Más detallesCapítulo 0. Introducción.
Capítulo 0. Introducción. Bueno, por fin está aquí el esperado (espero!!) Capítulo Cero del Tutorial de Assembler. En él estableceremos algunos conceptos que nos serán de utilidad a lo largo del Tutorial.
Más detallesEstándares para la construcción de Sentencias SQL
Estándares para la construcción de Subgerencia Arquitectura & Innovación Grupo MDC Versión 1.0 Noviembre 2008 CONTROL DE LAS MODIFICACIONES Versión Descripción Autor Fecha Revisado por 1.0 Este documento
Más detallesUNIDAD DE TRABAJO 3: PROGRAMACIÓN DE BASES DE DATOS TEMA 8: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN
UNIDAD DE TRABAJO 3: PROGRAMACIÓN DE BASES DE DATOS TEMA 8: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN 8.1. INTRODUCCIÓN AL SQL PROCEDIMENTAL Casi todos los grandes Sistemas Gestores de Datos incorporan
Más detallesAviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported
PROGRAMACIÓN ORIENTADA A OBJETOS APLICADA A BASES DE DATOS Por LAURA NOUSSAN LETTRY BrowserSQL MySQL Workbench en Linux (Abril 2015, Mendoza) Aviso Legal El presente libro electrónico se distribuye bajo
Más detallesPHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.
PHPMYADMIN Y MYSQL Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PhpMyAdmin es una herramienta para la administración del servidor de base de datos MySQL que dispone
Más detallesManual para la utilización de PrestaShop
Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesGESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS
GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS 1.- PLANTILLA DE PUBLICACIONES En este maestro crearemos la publicación base sobre la cual el programa generará
Más detallesEstándar de desarrollo de aplicaciones del Govern de les Illes Balears
Estándar de desarrollo de aplicaciones del Govern de les Illes Balears BASE DE DATOS Versión 5.0 Fecha Revisión: 28/05/09 Índice de contenidos INTRODUCCIÓN... 3 NOMENCLATURA DE BASE DE DATOS... 4 2.1.
Más detallesUna vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón.
11. RECIBOS. Desde esta opción de Menú vamos a completar el proceso de gestión de los diferentes tributos, generando recibos, informes de situación, impresiones, etc. 11.1. GENERACIÓN DE RECIBOS. Una vez
Más detallesSQL (Structured Query Language)
SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite
Más detallesGENERACIÓN DE ANTICIPOS DE CRÉDITO
GENERACIÓN DE ANTICIPOS DE CRÉDITO 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de anticipos de crédito permite generar fácilmente órdenes para que la Caja anticipe el cobro de créditos
Más detallesVisual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario
Empleo de módulos y Procedimientos Procedimientos definidos por el usuario Según lo que hemos visto hasta ahora, Visual Basic, almacena el código en módulos. Hay tres clases de módulos: formularios (.frm),
Más detallesProgramación Gráfica 2D ( IV ) Tilemapping.
Autor: Sergio Hidalgo serhid@wired-weasel.com Introducción Programación Gráfica 2D ( IV ) Tilemapping. Con el último tutorial ya terminé de explicar el funcionamiento de SDL y la programación gráfica en
Más detallesGESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)
APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I
Más detallesCASO PRÁCTICO DISTRIBUCIÓN DE COSTES
CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que
Más detallesBase de datos relacional
Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar
Más detallesGuía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana.
Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana. Esta guía muestra como proceder en la configuración y posterior uso de la aplicación Allegro en
Más detallesMINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007
MINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007 Servicio de Informática y Comunicaciones Para poder diseñar un formulario y que éste nos envíe los resultados a nuestro correo electrónico, necesitamos
Más detalles2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.
2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla
Más detallesCapítulo 9. Archivos de sintaxis
Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta
Más detallesMANUAL APLICACIÓN. SOFTWARE GESTIÓN DE CLÍNICAS DENTALES
1. ÍNDICE MANUAL APLICACIÓN. SOFTWARE GESTIÓN DE CLÍNICAS DENTALES 1. INTRODUCCIÓN...4 2 INSTALACIÓN DE LA APLICACIÓN...4 3 PANTALLA DE ACCESO...5 4 SELECCIÓN DE CLÍNICA...6 5 PANTALLA PRINCIPAL...7 6.
Más detallesTutorial: Primeros Pasos con Subversion
Tutorial: Primeros Pasos con Subversion Introducción Subversion es un sistema de control de versiones open source. Corre en distintos sistemas operativos y su principal interfaz con el usuario es a través
Más detallesEl lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.
GUIA DE LABORATORIO # 5 Nombre de la Practica: Manipulación de datos Lugar de ejecución: Centro de Computo MATERIA: Base de Datos II CICLO: 02-2012 I. OBJETIVOS ESPECIFICOS Qué el estudiante: Manipule
Más detallesEl lenguaje SQL es un lenguaje estándar para el acceso y
1. INTRODUCCIÓN El lenguaje SQL es un lenguaje estándar para el acceso y manipulación de bases de datos relacionales como SQL Server. Esto quiere decir que aprender SQL es algo indispensable para cualquier
Más detalles- Bases de Datos - - Diseño Físico - Luis D. García
- Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo
Más detallesResumen. Funcionamiento. Advertencia
Resumen Módulo: Librería: IMPEXP.DLL Acoplable a: FactuCont 5, versiones monopuesto y red Descripción: Permite exportar datos de documentos, clientes, proveedores y artículos en un solo fichero para poder
Más detallesDefiniciones. Tema 21_Módulos Menú 1
Definiciones Un menú es una lista de opciones o de órdenes que forman parte de un mismo título, mediante los cuales se podrán seleccionar determinadas operaciones de la aplicación. El conjunto de todos
Más detallesGENERACIÓN DE CÓDIGO
GENERACIÓN DE CÓDIGO INTRODUCCION La generación de código es la fase más compleja de un compilador, puesto que no sólo depende de las características del lenguaje fuente sino también de contar con información
Más detallesEste es un ejemplo muy sencillo, un esquema de empleados que trabajan en proyectos, en una relación muchos a muchos.
28/04/2012 La teoría de la normalización va perdiendo peso con el paso de los años como herramienta de diseño de bases de datos relacionales en favor de modelos de datos más ricos en su representación,
Más detallesMÓDULO 3 HERRAMIENTAS EN LA NUBE: ANFIX
MÓDULO 3: TEMA 1 INTRODUCCIÓN Hemos elegido esta herramienta, por su sencillez de acceso a través de la web, es bastante fácil e intuitiva, tan sólo tienes que registrarte, confirmar tu cuenta y ya puedes
Más detallesMACROS. Automatizar tareas a través del uso de las macros.
OBJETIVOS MACROS Definiciones Automatizar tareas a través del uso de las macros. Grabar Ejecutar Manipular macros. Tipos de Macros en Excel Introducción Las operaciones tradicionales que se pueden realizar
Más detallesIntroducción a PHP. * No es necesario declarar previamente las variables.
Introducción a PHP La programación de sitios web cada día está más orientada al desarrollo de páginas dinámicas y aplicaciones, o sea sitios donde el usuario pueda interactuar con la web. Dentro de los
Más detallesCierre y Apertura de ejercicio. Gestión - Contabilidad
Cierre y Apertura de ejercicio. Gestión - Contabilidad Cliente : Cooperativa Madrileña de Ferreteros, soc. coop. Referencia : I-3-PC-02 / 000041 Asunto : Cierre y apertura de ejercicio. Gestión Contabilidad
Más detallesBASES DE DATOS EN VISUAL BASIC ACCESS + SQL
BASES DE DATOS EN VISUAL BASIC ACCESS + SQL by Damián Sottosanti Ultima actualización: 03-08-2004 CREAMOS LA BASE DE DATOS EN ACCESS Abrimos Access y elegimos "Crear una nueva base de datos usando" "Base
Más detallesIptables, herramienta para controlar el tráfico de un servidor
Iptables, herramienta para controlar el tráfico de un servidor La seguridad es punto muy importante a tener en cuenta en cualquier organización de ahí que sea fundamental hacer uso de aquellos mecanismos
Más detallesUNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000
PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 Creación de la base de Datos Pulsamos F5 para Actualizar, y una vez posicionados en nuestra base de datos,se crean los scripts que seran soportados por el
Más detallesTrabajos de Ampliación. Bases de datos NoSQL.
BASES DE DATOS NoSql Son bases de datos pensadas para aplicaciones que hagan un uso intensivo de la misma. Estas bases de datos permiten una mayor flexibilidad y facilidad a la hora de introducir los datos
Más detallesObjetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la
Más detallesConsultas con combinaciones
UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden
Más detallesGENERACIÓN DE TRANSFERENCIAS
GENERACIÓN DE TRANSFERENCIAS 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que la Caja efectúe transferencias, creando una base
Más detallesCITRIX 4.5 - Citrix Application Streaming
1 de 39 01/12/2007 1:06 CITRIX 4.5 - Citrix Application Streaming Es la caracteristica principal de la versión 4.5 de Citrix, el Application Streaming, en este documento se explica cómo usarlo. Application
Más detallesDossier de prácticas
Dossier de prácticas Intranet / Extranet Màster d Enginyeria del Software Desenvolupament d aplicacions sobre Internet Fundació Politècnica de Catalunya Jaume Moral Ros Albert Obiols Vives 1 Dossier de
Más detallesFunciones Condicionales
Funciones Condicionales Función SI y SI anidada PLANILLA ELECTRÓNICA Excel Funciones Condicionales En muchas ocasiones, nos ocurrirá que debamos presentar un resultado, según se cumpla o no, una determinada
Más detallesLic. Vladimir Cotaquispe Gutierrez PROGRAMACIÓN PL/SQL I - 1. Copyright 2008, Oracle. All rights reserved.
Lic. Vladimir Cotaquispe Gutierrez PROGRAMACIÓN PL/SQL I - 1 INTRODUCCIÓN PL/SQL: Lenguaje de programación procedimental estructurado en bloques que amplía el lenguaje estándar SQL. Permite: Manipular
Más detallesGestor de contenidos de la plataforma web
Gestor de contenidos de la plataforma web 2011 1 de 24 Funcionamiento del gestor de contenidos Acceso Para acceder al la extranet es necesario ir a la dirección web: http://www.tudominio.com/adm e introducir
Más detallesGuía rápida de la Oficina Virtual (Solicit@V5) Área Web y Administración Electrónica
Guía rápida de la Oficina Virtual (Solicit@V5) Área Web y Administración Electrónica HOJA DE CONTROL Título Nombre del Fichero Autores Guía rápida de la Oficina Virtual (Solicit@V5) UHU_GuiaRapidaSolicita_V5.pdf
Más detallesEl control de la tesorería consiste en gestionar desde la aplicación los cobros y pagos generados a partir de las facturas de venta y de compra.
Gestión de la tesorería y del riesgo El control de la tesorería consiste en gestionar desde la aplicación los cobros y pagos generados a partir de las facturas de venta y de compra. En este manual nos
Más detallesIntroducción a la Programación en MATLAB
Introducción a la Programación en MATLAB La programación en MATLAB se realiza básicamente sobre archivos M, o M-Files. Se los denomina de esta forma debido a su extensión.m. Estos archivos son simple archivos
Más detallesInternet Information Server
Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en
Más detallesFórmulas. Objetivos y Definición. Definir fórmulas nos brinda una forma clave de compartir conocimiento y obtener código generado optimizado
97 Objetivos y Definición Definir fórmulas nos brinda una forma clave de compartir conocimiento y obtener código generado optimizado Cuando el valor de un atributo o variable puede calcularse a partir
Más detalles