SQL dinámico en Transact SQL
|
|
- Felisa Villalba Ramírez
- hace 8 años
- Vistas:
Transcripción
1 SQL dinámico en Transact SQL Transact SQL permite dos formas de ejecutar SQL dinamico(construir sentencias SQL dinamicamente para ejecutarlas en la base de datos): La instrucción EXECUTE - o simplemente EXEC El procedimiento almacenado sp_executesql Desde aquí recomendamos la utilización de sp_executesql si bien vamos a mostrar la forma de trabajar con ambos métodos. La instrucción EXECUTE La instrucción EXECUTE - o simplemente EXEC - permite ejecutar una cadena de caracteres que representa una sentencia SQL. La cadena de caracteres debe ser de tipo nvarchar. El siguiente ejemplo muestra como ejecutar una cadena de caracteres con la instrucción EXEC. nvarchar(1000) = 'SELECT COD_PAIS, NOMBRE_PAIS, ACTIVO, FX_ALTA FROM PAISES' EXEC (@sql) También con SQL dinamico podemos ejecutar sentencias de tipo DDL (Data Definition Languaje), como CREATE TABLE. nvarchar(1000) TABLE TEMPORAL ( ID int IDENTITY, DATO varchar(100))' EXEC (@sql) = 'SELECT * FROM TEMPORAL' EXEC (@sql) El principal incoveniente de trabajar con la instrucción EXEC es que no permite el uso de parametros abriendo la puerta a potenciales ataques de Sql Injections - Además el uso de la instrucción EXEC es menos eficiente, en terminos de rendimiento, que sp_executesql.
2 Para solventar el problema debemos trabajar siempre con sq_executesql, que permite el uso de parametros y con el que obtendremos un mejor rendimiento de nuestras consultas. El procedimiento almacenado sp_executesql Para ejecutar sql dinamico, se recomienda utilizar el procedimiento almacenado sp_executesql, en lugar de una instrucción EXECUTE. sp_executesql admite la sustitución de parámetros sp_executesql es más seguro y versátil que EXECUTE sp_executesql genera planes de ejecución con más probabilidades de que SQL Server los vuelva a utilizar, es más eficaz que EXECUTE. El siguiente ejemplo muestra el uso (muy simple) de sp_executesql. nvarchar(1000) = 'SELECT COD_PAIS, NOMBRE_PAIS, ACTIVO, FX_ALTA FROM PAISES' EXEC sp_executesql admite la sustitución de valores de parámetros para cualquier parámetro especificado en la cadena Transact-SQL a ejecutar. El siguiente ejemplo muestra el uso de sp_executesql con parámetros: char(3) = '@codpais char(3)' = 'ESP' = 'SELECT COD_PAIS, NOMBRE_PAIS,
3 ACTIVO, FX_ALTA FROM PAISES WHERE COD_PAIS @paramvalue
4 SQL Dinámico: Exec y sp_executesql La ejecución dinámica de instrucciones SQL es algo a lo que tarde o temprano (más bien temprano) tenemos que enfrentarnos. Y ya que tenemos que hacerlo más vale saber como funciona y tener un poco de cuidado Por qué dinámico Hablamos de ejecución dinámica porque la sentencia SQL que va a ejecutar nuestro servidor no esta escrita en ningún sitio, sino que se crea cada vez que tenemos que ejecutarla. Frente a esta forma de trabajar tenemos el SQL normal, donde la sentencia SQL esta previamente escrita y lo único que hay que hacer es decidir cuando la ejecutamos. Tipos de SQL dinámico Siempre es difícil hacer una clasificación, pero en este caso vamos a intentar diferenciar el SQL dinámico que se crea en el servidor y el que creamos en nuestras aplicaciones. Por ejemplo si trabajamos en Visual Basic NET y en nuestro código tenemos algo como esto: Dim ssql as string Dim entrada as string Dim micon As New SqlConnection( cadena conexión ) de alguna manera el usuario escribe una condición y metemos ese valor en la variable entrada ssql= SELECT * FROM Clientes WHERE Nombre = ssql=ssql + + entrada + ` Dim cmdproductos As New SqlCommand(sSQL, micon) cmdproductos.commandtype = CommandType.Text micon.open()... =cmdproductos.executereader() y todo lo que haga falta para usar los datos devueltos... Esto sería SQL dinámico generado en el cliente. Pero no es esto lo que nos interesa. Nosotros vamos a centrarnos en el SQL generado en el servidor, generalmente dentro de un procedimiento almacenado. Primero veamos como podemos pasar el código anterior a un procedimiento almacenado que recibe un parámetro: CREATE PROCEDURE varchar(50) AS SELECT * FROM Productos WHERE Nombre GO Más o menos lo mismo no? Pues sí, pero no. La diferencia está en que cuando creamos la sentencia desde el cliente podemos hacer prácticamente de todo para editar y construir esa sentencia. Y cuando lo hacemos un procedimiento almacenado tenemos limitaciones a la hora de utilizar variables para construir nuestra sentencia. Supongamos que necesitamos una sentencia SQL donde la parte dinámica es el nombre de la tabla. Parece lógico escribir algo así: CREATE PROCEDURE VarChar(128) AS SELECT * GO Pero si lo ejecutamos lo único que obtenemos es un error. Incorrect syntax near '@NombreTalba' No podemos utilizar variables en cualquier parte de una sentencia! Por ejemplo no podemos utilizarlas en la cláusula FROM. Ejecutar SQL dinámico con EXEC Ahora es cuando ya tenemos que utilizar SQL dinámico de servidor propiamente dicho. Para solucionar el error de antes generaremos dentro de nuestro procedimiento almacenado una sentencia en una variable de texto como hacíamos desde Visual Basic NET y luego le diremos al SQL Server que ejecute esa sentencia mediante el comando EXEC. CREATE PROCEDURE VarChar(128) AS VarChar(1000) --El truco esta en tener la sentencia dentro de una variable SELECT ssql = 'SELECT * FROM ' --Y ejecutar ese texto contenido en nuestra variable EXEC GO Como vemos es sencillo, pero utilizar el SQL así dentro de un procedimiento almacenado nos ocasiona dos problemas. En primer lugar utilizar así los parámetros da lugar a problemas de seguridad porque estamos permitiendo que el usuario utilice trucos de inyección de código y que nuestro procedimiento almacenado haga cosas para las que no fue creado. Un ejemplo de lo que alguien podría llegar a hacer es: EXEC ElegirTabla Clientes GO DROP TABLE Pedidos''' Que un usuario pueda ejecutar sentencias como esta no es algo muy deseable verdad. El segundo problema que nos plantea el uso de EXEC es de rendimiento. Como ya sabemos una de las ventajas de los procedimientos almacenados es que cuando se ejecuta la primera vez se compila, y no es necesario recompilarlo en ejecuciones sucesivas. Pero esto deja de ser
5 cierto cuando usamos EXEC para ejecutar SQL dinámico porque cada ejecución requiere una compilación. Esto nos lleva al segundo modo de ejecutar SQL dinámico dentro de un procedimiento almacenado. SP_EXECUTESQL El procedimiento 'sp_executesql puede utilizarse como alternativa a los procedimientos almacenados para ejecutar varias veces una instrucción de Transact-SQL si la única modificación es que cambian los valores de los parámetros. Como dicen los BOL, al permanecer constante la propia instrucción SQL y variar sólo los valores de los parámetros, es probable que el optimizador de consultas del SQL Server vuelva a utilizar el plan de ejecución que genera para la primera ejecución. El funcionamiento de sp_executesql es el siguiente: sp_executesql [@stmt =] stmt [ {, [@params =] N'@parameter_name data_type [,...n]' } {, [@param1 =] 'value1' [,...n] } ] Usar este procedimiento almacenado soluciona en gran parte los dos problemas que veíamos con la ejecución dinámica a través de EXEC. Por un lado lo único que se transmite a sp_executesql son los parámetros y eso evita la inyección de código, y por otro lado se puede reutilizar el plan de ejecución. Veamos un ejemplo de cómo utilizar este procedimiento. USE NorthWind nvarchar(1000) --la variabla que contiene la cadena a ejecutar debe ser unicode, por eso lo de nvarchar = 'SELECT * FROM Products WHERE ProductName EXEC N'@NombreProducto = 'chai' Como vemos el primer parámetro es la sentencia que queremos ejecutar, después viene declarada la variable que vamos a usar y por último le damos valor a esa variable. Seguro que se os ocurren un par de utilidades para sp_executesql. Más sobre SP_EXECUTESQL Sp_executesql tiene unas cuantas peculiaridades que conviene tener en cuenta. Para empezar la ejecución de una sentencia a traves de sp_executesql se hace en un ámbito propio. Esto quiere decir que las variables declaradas fuera no se pueden utilizar, que las declaradas dentro no se pueden leer desde fuera, que podemos cambiar la base de datos (utilizar USE) en la que trabajar dentro del sp_executesql, crear tablas temporales en el nuevo ámbito, utilizar sentencias SET sin hacer cambios en la configuración del procedimiento llamante, y por último aunque no menos importante que si se produce un error y se aborta la instrucción también se aborta el procedimiento en el que se está ejecutando. En cuanto a los permisos recordar algo muy importante. La sentencia SQL se ejecuta dentro del contexto de seguridad del usuario, no del procedimiento que llama a esa sentencia. Un ejemplo de cómo usar y como no usar SQL dinámico Para concluir vamos a ver un ejemplo donde podemos usar SQL dinámico. A veces tenemos que crear una sentencia que ordene una tabla según una columna que dependerá de algún parámetro que nos pasa el usuario. Eso lo podemos resolver utilizando un procedimiento almacenado y una sentencia como: CREATE PROCEDURE varchar(50) AS varchar(50) SELECT * FROM MiTabla ORDER BY Esto está en la línea de todo lo que hemos estado diciendo. Es una solución sencilla pero que como no nos hemos cansado de repetir plantea varios problemas de seguridad y rendimiento. Así que por que no pensamos un poco e intentamos crear un procedimiento almacenado que haga lo mismo? Creedme que pocas veces encontraremos una tarea que no se pueda resolver sin recurrir al SQL dinámico. Fijémonos en lo siguiente: CREATE PROCEDURE varchar(50) AS SELECT * FROM mitabla ORDER BY WHEN 'columna1' THEN columna1 WHEN 'columna2' THEN columna2 WHEN 'columna3' THEN columna3 END Cierto que es un poco más complicado (se utiliza la función CASE), pero no hay inyección de código posible y una vez calculado el plan de ejecución se utilizará sin recompilar una y otra vez Como conclusión nos queda que el SQL dinámico es una herramienta potente pero peligrosa si no se trata con cuidado, y que la mayoría de las veces no necesitamos recurrir a ella porque siempre podemos encontrar otra solución. César Manivesa sql@manivesa.com
6 Ejemplos: use banco36 create proc varchar(100) as varchar(1000) * FROM ' + ' WHERE ' exec(@sql) go exec ejecutadinamico 'cuentaxcliente',' docident=''3322''' Alter Proc varchar(100) as varchar(1000) = 'SELECT ' + ',' +' From ' + ' WHERE ' EXEC (@isql) EXEC edinamico 'apellido','nombre','cliente',' docident=''3322''' nvarchar (1000) /* Nota de cadena debe ser Unicode para sp_executesql*/ = 'SELECT * FROM alumno where Exec N'@Di nvarchar = ' ' NVARCHAR(4000); NVARCHAR(15); = ' '; = 'USE Academico; SELECT * FROM Alumno WHERE DocIdent = ' EXECUTE (@Query); --- Nvarchar(15); = '@DocIdent Nvarchar(15)'; = ' '; = 'USE Academico; SELECT * FROM Alumno WHERE DocIdent @ValorParametro; -- Con Procedimiento almacenado Create procedure nvarchar(15) as NVARCHAR(4000),@DefinicionParametro NVARCHAR(200),@ValorParametro Nvarchar(15) = '@id Nvarchar(15)'; = 'USE Academico; SELECT * FROM Alumno WHERE DocIdent @ValorParametro; --Ejecución Exec xx ' ' Exec xx ' '
Uso de las herramientas de consulta de Transact-SQL
Uso de las herramientas de consulta de Transact-SQL Contenido Introducción 1 Analizador de consultas SQL 2 Uso de la herramienta Examinador de objetos en el Analizador de consultas SQL 3 Uso de plantillas
Más detallesUNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA
UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA SECCIÓN: 15N1- IS REALIZADO POR: BR. BRETE JINETH. BR. SULBARÁN ARMANDO BR. TORREZ
Más detalles9- Procedimientos almacenados.
Objetivos: 9- Procedimientos almacenados. Crear procedimientos almacenados para ser usados en el desarrollo de software. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Base de datos
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 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 detallesT12 Vistas y tablas temporales
1 de 9 17/05/2013 14:01 Lecciones SQL > T12 Vistas y tablas temporales En esta sesión vamos a mostrar dos tipos de objetos de uso habitual en cualquier SGBD: las vistas y las tablas temporales. Mientras
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 detallesselect nombre from profesores where categoria='aso6';
1 de 10 17/05/2013 14:00 Lecciones SQL > T11 Conjuntos Operaciones de conjuntos y MySQL Un operador sobre conjuntos combina el resultado de dos sentencias select en un único resultado. Dependiendo del
Más detallesAdministradores de Bases de Datos Studio.NET 2005 Y SQL Server 2005. Barrios
Curso de SQL Server 2005 Developer e Introducción a VB.net Práctica No.1. Escribiendo y ejecutando código transact sql desde el Query Analyzer EELLAA BBO RRAADDO PPO RR: FFEECCHHAA DDEE EELLAABB OO RR
Más detalles5- Uso de sentencias avanzadas
Objetivos: 5- Uso de sentencias avanzadas Elaborar sentencias de manejo de datos. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Introducción: Después de trabajar con las sentencias
Más detallesIntroducción a PostgreSQL con PHP
1 Introducción a PostgreSQL con PHP Recientemente he tenido que utilizar PostgreSQL para realizar algunos proyectos en donde laboro, principalmente por las características que ofrece PostgreSQL sobre MySQL,
Más detallesMatrices equivalentes. El método de Gauss
Matrices equivalentes. El método de Gauss Dada una matriz A cualquiera decimos que B es equivalente a A si podemos transformar A en B mediante una combinación de las siguientes operaciones: Multiplicar
Más detallesCONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE
CONSULTAS DE RESUMEN SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes
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 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 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 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 detallesEnlaces relacionados: http://otn.oracle.com/tech/pl_sql/index.html
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
Más detallesManual de usuario para la parametrización de la integración Openbravo-Sugar
Manual de usuario para la parametrización de la integración Openbravo-Sugar Fichero: Manual usuario - Integración Openbravo- Sugar - Spanish Versión: 1.0 Sevilla, 3 de febrero de 2010 Histórico de cambios
Más detallesSitios remotos. Configurar un Sitio Remoto
Sitios remotos Definir un sitio remoto significa establecer una configuración de modo que Dreamweaver sea capaz de comunicarse directamente con un servidor en Internet (por eso se llama remoto) y así poder
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 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 detallesCómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia
Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com La puesta en marcha de WordPress es muy sencilla,
Más detallesLección 24: Lenguaje algebraico y sustituciones
LECCIÓN Lección : Lenguaje algebraico y sustituciones En lecciones anteriores usted ya trabajó con ecuaciones. Las ecuaciones expresan una igualdad entre ciertas relaciones numéricas en las que se desconoce
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 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 detallesTema: PROCEDIMIENTOS ALMACENADOS.
Base de datos I. Guía 9 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: PROCEDIMIENTOS ALMACENADOS. Objetivo Específico Conocer la sintaxis de un procedimiento almacenado
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 detallesToda base de datos relacional se basa en dos objetos
1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.
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 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 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 detallesProceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento
Qué es AT-Encrypt nos permitirá dotar de contraseña a cualquier documento o carpeta. Este documento o carpeta sólo será legible por aquel que conozca la contraseña El funcionamiento del cifrado (o encriptación)
Más detallesAproximación local. Plano tangente. Derivadas parciales.
Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 004-005 Aproximación local. Plano tangente. Derivadas parciales. 1. Plano tangente 1.1. El problema de la aproximación
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 detallesAplicaciones seguras con ClaseSeguridad
Aplicaciones seguras con ClaseSeguridad Índice de contenido Por que ClaseSeguridad?...1 Referenciar ClaseSeguridad...1 Declaración y creación...1 Evitar inyección de SQL...1 Eliminar etiquetas...3 Evitar
Más detallesDesarrollo de Servicios Web con JBuilder
Artículos técnicos Grupo Danysoft: Desarrollo de Servicios Web con JBuilder Segunda parte Oscar Cristobal Ruiz Departamento Java Equipo Grupo Danysoft Enero 2003 - (902) 123146 www.danysoft.com Desarrollo
Más detallesAGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7
Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos
Más detallesLos 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 detallesMANUAL DE CREACIÓN DE CARPETAS PARA ACCESO POR FTP DE CLIENTES EN UN NAS
MANUAL DE CREACIÓN DE CARPETAS PARA ACCESO POR FTP DE CLIENTES EN UN NAS Vamos a explicar en varios pasos cómo crear una carpeta para que un cliente concreto con un usuario y una contraseña acceda sólo
Más detallesMANUAL DE AYUDA MODULO TALLAS Y COLORES
MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3
Más detallesMANUALITO MS-SQL SERVER
MANUALITO MS-SQL SERVER Contenido 1. Crear Store Procedures en MS SQL Server... 1 2. Crear Triggers en MS SQL Server... 5 3. Crear Vistas en MS SQL Server... 9 1. Crear Store Procedures en MS SQL Server
Más detallesMANUAL CAMBIO DE CLAVE WIFI
MANUAL CAMBIO DE CLAVE WIFI En este manual se intenta explicar cómo cambiar la clave del router WIFI que los clientes tienen en su domicilio. Aprovechar para comentar a los clientes que si no disponen
Más detallesMANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO
MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 3 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 3 HERRAMIENTA
Más detallesINSTALACIÓN DEL MÓDULO... 3 CONFIGURACIÓN DEL MÓDULO... 4 ACTIVACIÓN DEL MÓDULO EN LA ADMINISTRACIÓN:... 4 CONFIGURACIÓN DEL MÓDULO:...
MANUAL 2LABELS 3.3 INDICE DEL CONTENIDO INSTALACIÓN DEL MÓDULO... 3 INSTALACIÓN DEL MÓDULO... 3 CONFIGURACIÓN DEL MÓDULO... 4 CONFIGURACIÓN DEL MÓDULO... 4 ACTIVACIÓN DEL MÓDULO EN LA ADMINISTRACIÓN:...
Más detallesCómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?
Preguntas frecuentes Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Atención! Esta opción es de configuración y solamente la prodrá realizar el administrador de la
Más detallesEsta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro
USAR MYSQL EN PHP PHP tiene una librería de funciones nativas para conectarse a las base de datos MySQL. Por un lado reconoce la librería mysql y por otro mysqli. Se recomienda el uso de mysqli dado que
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 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 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 detallesManual de NetBeans y XAMPP
Three Headed Monkey Manual de NetBeans y XAMPP Versión 1.0 Guillermo Montoro Delgado Raúl Nadal Burgos Juan María Ruiz Tinas Lunes, 22 de marzo de 2010 Contenido NetBeans... 2 Qué es NetBeans?... 2 Instalación
Más detallesPero, vamos por partes. Lógicamente, lo primero que tendremos que hacer es entrar en nuestra cuenta de correo y pinchar en.
Siempre que queramos enviar un archivo por correo tenemos que tener en cuenta que todos los correos tienen una limitación de espacio. En el caso de yahoo son 25 MB por correo. Pero para facilitar el envío
Más detallesADMINISTRACIÓN DE BASE DE DATOS
SQL SERVER T-SQL QUERY s es ADMINISTRADOR GRÁFICO SGBD Elementos objetos Tablas Procedimientos Triggers Funciones Usuarios Permiso Roles Contraseñas Programas DTS (Data Transfer System) Exportación e Importación
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 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 detallesAPUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5
APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5 APLICACIONES WEB BASADAS EN PHP Y MYSQL Una aplicación web es básicamente un programa escrito sobre una página web, generalmente en lenguaje
Más detallesTABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.
TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.
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 detallesWINDOWS 2008 5: TERMINAL SERVER
WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.
Más detallesUn comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en
15/05/2012 1 Un comité de la organización ANSI (American National Standards Institute) aborda la problemática del almacenamiento de datos para su procesamiento en aplicaciones informáticas en 1975. 2 Como
Más detallesTema: SUBCONSULTAS Y CREACION DE VISTAS.
Base de datos I. Guía 6 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: SUBCONSULTAS Y CREACION DE VISTAS. Objetivo Específico Definir que es una subsonsulta Utilizar vistas
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 detallesGestión de Subtotales en Documentos de Venta WhitePaper Febrero de 2007
Gestión de Subtotales en Documentos de Venta WhitePaper Febrero de 2007 Contenidos 1. Propósito 3 2. Introducción 4 3. Plantilla de subtotales 5 4. Gestión de subtotales 7 Gestión de Subtotales en Documentos
Más detallesBases de Datos Relacionales
Bases de Datos Relacionales PROCEDIMIENTOS ALMACENADOS Preparó: Ismael Castañeda Fuentes Fuentes: Manuales Sybase Manuales SQL Server Manuales Oracle Procedimientos almacenados Un procedimiento almacenado
Más detallesCreando una webquests
Creando una webquests 1. LO PRIMERO EL PROGRAMA Para crear paginas web necesitamos el software apropiado. Hay muchas formas y programas para hacerlo, pero por su facilidad de uso y por ser software libre
Más detallesKu Information System Tutorial. Una consulta sencilla. Crear la consulta. Seleccionar el área de información. Decidir qué queremos ver
Para demostrar el uso de Ku simularemos una consulta. Ku puede hacer consultas mucho más complejas, pero para mantener el tutorial sencillo haremos una muy simple. Puedes completar el tutorial en menos
Más detallesProbabilidad y Simulación
Probabilidad y Simulación Estímulo del Talento Matemático Real Academia de Ciencias 4 de febrero de 2006 Entendiendo el azar Queremos entender un fenómeno aleatorio (azar, incertidumbre). Entenderlo lo
Más detallesBackup & Recovery Oracle 9i. Las copias físicas offline, conocidas como Backups en frío, se realizan cuando la Base de Datos está parada.
Copias de Seguridad Físicas OFFLINE Las copias físicas offline, conocidas como Backups en frío, se realizan cuando la Base de Datos está parada. Como ya se ha comentado anteriormente, una copia en frío
Más detallesCurso Excel Básico - Intermedio
Curso Excel Básico - Intermedio Clase 4 Relator: Miguel Rivera Adonis Introducción Base de Datos: Definición de Base de Datos Ordenar datos Formulario Filtros Trabajar con Sub-Totales Validación de Datos
Más detallesCombinar correspondencia (I)
Combinar correspondencia (I) Mediante la opción Combinar correspondencia Word2007 nos permite incluir en un documento, datos almacenados en otro sitio. De esta forma podremos obtener copias de un mismo
Más detallesPRACTICA DE REDES Redes Ad Hoc
PRACTICA DE REDES Redes Ad Hoc En esta práctica vamos a proceder a montar una red ad hoc, es decir, dos o más dispositivos conectados entre sí directamente de manera inalámbrica, sin ningún tipo de punto
Más detallesTutorial Básico de vbscript
Tutorial Básico de vbscript Bueno, primero aclarar que este tutorial, pretende explicar de manera básica las distintas instrucciones aplicadas en visual basic script (vbs de aquí en más), para que así
Más detallesCurso SQL Nivel Avanzado 1. Miguel Jurado García
Curso SQL Nivel Avanzado 1 Miguel Jurado García Temario Sesión 1: 1- Elementos de Sintaxis Uso de Variables Collation y las Fechas Construcción de Sentencias Dinámicas 2- SQL Server Management Studio Filtrado
Más detallesProtocolo Traslado_envío datos personales
Protección de la información en mi ordenador. TrueCrypt aplicación para cifrar y proteger la información La manera de evitar los problemas derivados de que la información privada quede expuesta a personas
Más detallesObjetos de la Base de Datos
Objetos de la Base de Datos Todos los datos de una base de datos de Microsoft SQL Server 2005/8 están contenidos en objetos llamados tablas. Cada tabla representa algún tipo de objeto con significado para
Más detallesSquipy v1.1. 0.-Introducción
Squipy v1.1 0.-Introducción Squipy es un sencillo proxy que permite filtrar y modificar los datos que se envían desde el navegador hacia un servidor web. El interfaz está en castellano y en inglés y su
Más detallesPasos para instalar y configurar Microsoft SQL Server 2000.
Pasos para instalar y configurar Microsoft SQL Server 2000. 1. Descomprimir archivo es_sql_2000_dev bajado del sitio de MSDN en una carpeta. 2. Ejecutar el autorun. 3. En la ventana que aparece, seleccionar
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 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 detallesH E R R A M I E N T A S D E A N Á L I S I S D E D A T O S HERRAMIENTAS DE ANÁLISIS DE DATOS
H E R R A M I E N T A S D E A N Á L I S I S D E D A T O S HERRAMIENTAS DE ANÁLISIS DE DATOS Una situación que se nos plantea algunas veces es la de resolver un problema hacia atrás, esto es, encontrar
Más detallesHostaliawhitepapers. Usar Plesk para, poner en marcha nuestro dominio.
Usar Plesk para, poner en marcha nuestro dominio. Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com Dominio y alojamiento web Registrar un dominio no es sinónimo de tener
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 detallesProgramación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV
Actividades: Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV Creación del CRUD mediante Procedimientos Almacenados.... 1 Creación del CRUD de Empresas en la Base de Datos:... 1 Creación...
Más detallesSincronización del Servidor.
Sincronización del Servidor. Versión 1.0 03/05/05 Fecha Jose Autor Manuel Viejo Lobato http://ars.viejolobato.com Página 1 de 5 Índice. 1. Introducción... 3 2. Búsqueda de elementos de workflow por nombre....
Más detallesFacturación Automática de Ventas WhitePaper Noviembre de 2006
Facturación Automática de Ventas WhitePaper Noviembre de 2006 Contenidos 1. Propósito 3 2. Particularidades del asistente 3 2.1. Accesos en PrefGest 3 2.2. Requisitos de los documentos a albaranar / facturar
Más detallesArchivo de correo con Microsoft Outlook contra Exchange Server
Archivo de correo con Microsoft Outlook contra Exchange Server Resumen Con este proceso de archivado, lo que pretendemos es guardar nuestro correo en un archivo de datos, para así poder realizar una copia
Más detallesCrear la base de datos antes de la instalación de Wordpress.
Introducción En este tutorial básico sobre instalar Wordpress en tu propio hosting mediante un panel de control cpanel y aprenderás como personalizar las bases de datos MySQL que utiliza Wordpress. Para
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 detallesEl Manual del Afiliado en Etic-etac.com
El Manual del Afiliado en Etic-etac.com Bienvenid@ a nuestro programa de afiliados! Si tienes en tus manos este manual, es porque te has decidido a ganar dinero recomendando nuestros productos. Enhorabuena!
Más detallesvmysql Requisitos Previos Conexión con el servidor vmysql 1/5
vmysql Este componente permite la conexión usando ODBC con servidores MySQL. Ha sido probado en entornos windows con la versión 5.1 El objeto del mismo es encapsular la conexión usando las instrucciones
Más detallesEsta es la forma vectorial de la recta. Si desarrollamos las dos posibles ecuaciones, tendremos las ecuaciones paramétricas de la recta:
Todo el mundo sabe que dos puntos definen una recta, pero los matemáticos son un poco diferentes y, aún aceptando la máxima universal, ellos prefieren decir que un punto y un vector nos definen una recta.
Más detallesPráctica 3: Estudio de los protocolos HTTP, SMTP, POP3 e IMAP mediante un analizador de red: Wireshark
FUNDAMENTOS DE REDES DE COMPUTADORES Curso 2009/2010 Práctica 3: Estudio de los protocolos HTTP, SMTP, POP3 e IMAP mediante un analizador de red: Wireshark Introducción En esta práctica vamos a trabajar
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 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 detallesAl ejecutar esta aplicación tenemos lo siguiente: Pulsamos en Wizard mode y nos aparece lo siguiente:
ACCESO A LA CÁMARA Esto no es un punto conflictivo, pero lo primero que necesitamos es poder acceder a la cámara. Para ello, en primer lugar hay que conectar la cámara tanto a la alimentación como con
Más detallesEcuaciones de primer grado con dos incógnitas
Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad
Más detallesCómo instalar el software de CRM Personas en un alojamiento web remoto
Cómo instalar el software de CRM Personas en un alojamiento web remoto No es el uso pretendido del programa. Usar bajo responsabilidad propia de manera experimental Índice de contenido Cómo usar el CRM
Más detallesCurso Internet Básico - Aularagon
Antes de empezar es necesario que tengas claro algunas cosas: para configurar esta cuenta de correo, debes saber que el POP y el SMTP en este caso son mail.aragon.es; esta cuenta de correo hay que solicitarla
Más detalles