SlideShare uma empresa Scribd logo
1 de 25
Universidad Nacional José Faustino Sánchez Carrión Tema: MS SQL Server     Curso: Compiladores Docente: Ing. Claros Vázquez, Carlos Integrantes: ,[object Object]
 OCHOA LUIS, Renzo
  PAICO PEREZ, Bertha
  PICHILINGUE PALOMINO, Rosmery
  RAMÍREZ APOLINARIO, Lisset,[object Object]
¿QUÉ ES SQL? Es un lenguaje estándar de comunicación con bases de datos, un lenguaje normalizado que nos permite trabajar con cualquier tipo de lenguaje (ASP o PHP) en combinación con cualquier tipo de base de datos (MS Access, SQL Server, MySQl, etc.) pero  eso no quiere decir que sea idéntico para cada base de datos. SQL es un lenguaje de consulta para los sistemas de bases de datos relaciónales, pero que no posee la potencia de los lenguajes de programación.
SQL SERVER Microsoft SQL Server es un sistema de gestión de bases de datos relacionales (RDBMS), diseñado para ejecutarse en plataformas que van desde computadoras portátiles hasta servidores multiprocesador grande.  Un Sistema de Gestión de Bases de Datos Relacionales tiene como objetivo servir de interfaz de comunicación entre una base de datos y las aplicaciones que la utilizan.
Versiones de MS SQL SERVER
Transact SQL Transact SQL es el lenguaje de programación que proporciona Microsoft SQL Server para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los lenguajes de programación. Con Transact SQL vamos a poder programar las unidades de programa de la base de datos SQL Server, están son: ,[object Object]
Funciones
Triggers
Scripts,[object Object]
CREACION DE  UNA BASE DE DATOS SINTAXIS DE CREACION DE UNA BASE DE DATOS Para crear una base de datos en el SQL, se usa lo siguiente: CREATE DATABASE nombre_bd; SINTAXIS DE ELIMINACION DE UNA BASE DE DATOS DROP DATABASE nombre_bd;
Estructuras de control en Transact SQL  ,[object Object]
Bucle WHILE
Estructura condicional CASE
Estructura GOTOControl de errores en Transact SQL  ,[object Object]
Funciones Especiales de Error
ERROR_PROCEDURE()
ERROR_LINE()
ERROR_MESSAGE()
ERROR_NUMBER()
ERROR_SEVERITY()

Mais conteúdo relacionado

Mais procurados

Fundamentos microsoft sql server (T-Sql) (Parte I) – conceptos básicos sql e...
Fundamentos microsoft sql server (T-Sql)  (Parte I) – conceptos básicos sql e...Fundamentos microsoft sql server (T-Sql)  (Parte I) – conceptos básicos sql e...
Fundamentos microsoft sql server (T-Sql) (Parte I) – conceptos básicos sql e...JOSE AHIAS LOPEZ PORTILLO
 
Programacion con SQL Server 2005
Programacion con SQL Server 2005Programacion con SQL Server 2005
Programacion con SQL Server 2005brobelo
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sqlSuarezJhon
 
Procedimientos almacenados..mañana
Procedimientos almacenados..mañanaProcedimientos almacenados..mañana
Procedimientos almacenados..mañanaANilez Solrak
 
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Universidad Nacional de Piura
 
Bd 2 1 fundamentos transact sql
Bd 2   1 fundamentos transact sqlBd 2   1 fundamentos transact sql
Bd 2 1 fundamentos transact sqlCarlos Lopez
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011josecuartas
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenadosVicente Alberca
 
Bases de Datos (ACID, Reglas de Codd e Integridad de datos)
Bases de Datos (ACID, Reglas de Codd e Integridad de datos)Bases de Datos (ACID, Reglas de Codd e Integridad de datos)
Bases de Datos (ACID, Reglas de Codd e Integridad de datos)Walter Herrera
 

Mais procurados (20)

Diapositivas transact sql
Diapositivas transact sqlDiapositivas transact sql
Diapositivas transact sql
 
Lenguaje de transact
Lenguaje de transactLenguaje de transact
Lenguaje de transact
 
Fundamentos microsoft sql server (T-Sql) (Parte I) – conceptos básicos sql e...
Fundamentos microsoft sql server (T-Sql)  (Parte I) – conceptos básicos sql e...Fundamentos microsoft sql server (T-Sql)  (Parte I) – conceptos básicos sql e...
Fundamentos microsoft sql server (T-Sql) (Parte I) – conceptos básicos sql e...
 
Programacion con SQL Server 2005
Programacion con SQL Server 2005Programacion con SQL Server 2005
Programacion con SQL Server 2005
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Procedimientos almacenados..mañana
Procedimientos almacenados..mañanaProcedimientos almacenados..mañana
Procedimientos almacenados..mañana
 
7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenados
 
Sql procedimientos-almacenados
Sql procedimientos-almacenadosSql procedimientos-almacenados
Sql procedimientos-almacenados
 
1. introduccion a transact-sql
1.  introduccion a transact-sql1.  introduccion a transact-sql
1. introduccion a transact-sql
 
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
 
Bd 2 1 fundamentos transact sql
Bd 2   1 fundamentos transact sqlBd 2   1 fundamentos transact sql
Bd 2 1 fundamentos transact sql
 
Lenguaje transact
Lenguaje transactLenguaje transact
Lenguaje transact
 
SQL avanzado
SQL avanzadoSQL avanzado
SQL avanzado
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
 
Lenguajetransacc
LenguajetransaccLenguajetransacc
Lenguajetransacc
 
Sql Procedural
Sql ProceduralSql Procedural
Sql Procedural
 
Transac sq ll
Transac sq llTransac sq ll
Transac sq ll
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Bases de Datos (ACID, Reglas de Codd e Integridad de datos)
Bases de Datos (ACID, Reglas de Codd e Integridad de datos)Bases de Datos (ACID, Reglas de Codd e Integridad de datos)
Bases de Datos (ACID, Reglas de Codd e Integridad de datos)
 

Semelhante a Ms SQL Server

Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenadosbat1820
 
SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...
SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...
SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...Anastacio Salazar
 
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
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transactbandida123
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transactbandida123
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014JOSE AHIAS LOPEZ PORTILLO
 
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosAdministración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosHector Martinez
 

Semelhante a Ms SQL Server (20)

Lenguaje Transact-SQL
Lenguaje Transact-SQLLenguaje Transact-SQL
Lenguaje Transact-SQL
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...
SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...
SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
Statement
StatementStatement
Statement
 
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
 
Statement
StatementStatement
Statement
 
LENGUAJE TRANSACT SQL
 LENGUAJE TRANSACT SQL LENGUAJE TRANSACT SQL
LENGUAJE TRANSACT SQL
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
java con base de datos
java con base de datos java con base de datos
java con base de datos
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transact
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transact
 
Lenguaje transact
Lenguaje transactLenguaje transact
Lenguaje transact
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
 
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosAdministración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
 
guia-2.pdf
guia-2.pdfguia-2.pdf
guia-2.pdf
 
ARQSQL.docx
ARQSQL.docxARQSQL.docx
ARQSQL.docx
 
procedimientos almacenados
procedimientos almacenadosprocedimientos almacenados
procedimientos almacenados
 
. procedimientos almacenados
.  procedimientos almacenados.  procedimientos almacenados
. procedimientos almacenados
 

Último

definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 

Último (20)

definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 

Ms SQL Server

  • 1.
  • 3. PAICO PEREZ, Bertha
  • 4. PICHILINGUE PALOMINO, Rosmery
  • 5.
  • 6. ¿QUÉ ES SQL? Es un lenguaje estándar de comunicación con bases de datos, un lenguaje normalizado que nos permite trabajar con cualquier tipo de lenguaje (ASP o PHP) en combinación con cualquier tipo de base de datos (MS Access, SQL Server, MySQl, etc.) pero  eso no quiere decir que sea idéntico para cada base de datos. SQL es un lenguaje de consulta para los sistemas de bases de datos relaciónales, pero que no posee la potencia de los lenguajes de programación.
  • 7. SQL SERVER Microsoft SQL Server es un sistema de gestión de bases de datos relacionales (RDBMS), diseñado para ejecutarse en plataformas que van desde computadoras portátiles hasta servidores multiprocesador grande. Un Sistema de Gestión de Bases de Datos Relacionales tiene como objetivo servir de interfaz de comunicación entre una base de datos y las aplicaciones que la utilizan.
  • 8. Versiones de MS SQL SERVER
  • 9.
  • 10.
  • 13.
  • 14.
  • 15. CREACION DE UNA BASE DE DATOS SINTAXIS DE CREACION DE UNA BASE DE DATOS Para crear una base de datos en el SQL, se usa lo siguiente: CREATE DATABASE nombre_bd; SINTAXIS DE ELIMINACION DE UNA BASE DE DATOS DROP DATABASE nombre_bd;
  • 16.
  • 19.
  • 26.
  • 28.
  • 30. Funciones agregadas Lasmás comunes son: MAX MIN AVG COUNT SUM
  • 31. Procedimiento Almacenado Es un programa dentro de la base de datos que ejecuta una acción o conjunto de acciones específicas. Tiene un nombre, conjunto de parámetros y un bloque de código. Ventajas Compilación: La primera vez que se invoca un SP, el motor lo compila y desde ahí, se sigue usando la versión compilada del mismo, hasta que se modifique o se reinicie el servicio de SQL. Automatización: Si tenemos un conjunto de instrucciones T-SQL, las cuales queremos ejecutar de manera ordenada, un SP es la mejor manera de hacerlo.
  • 32. Ventajas Administración: Cuando realizamos aplicaciones con un gran número de líneas de código, y queremos hacer cambios, solo implica modificar un SP y no toda la aplicación. Seguridad: Una parte importante es que a los usuarios de nuestra aplicación, solo les proporcionamos los permisos para ejecutar los procedimientos almacenados y no el acceso a todos los objetos de la base. Programabilidad: Los SP admiten el uso de variables y estructuras de control como IF, Bucles,  Case, etc. además del manejo de transacción y permite controlar excepciones. Trafico de Red:  Pueden reducir el tráfico de la red, debido a que se trabaja sobre el motor (en el servidor), y si una operación incluye hacer un trabajo de lectura primero y en base a eso realizar algunas operaciones, esos datos que se obtienen no viajan por la red.
  • 33. Tipos de procedimientos almacenados Procedimientos almacenados del Sistema Se almacenan en la Base de Datos Master, el procedimiento almacenado del sistema (identificado con prefijo sp) mantiene recuperando la información de las tablas del sistema. Los procedimientos almacenados del sistema pueden ejecutarse desde cualquier base de datos
  • 34. Definidos por el Usuario Un procedimiento almacenado puede incluir parámetros de entrada, devolver resultados tabulares o escalares y mensajes para el cliente, invocar instrucciones de lenguaje de definición de datos (DDL) e instrucciones de lenguaje de manipulación de datos (DML), así como devolver parámetros de salida CLR: Es una referencia a un método CommonLanguageRuntime (CLR) de Microsoft .NET Framework que puede aceptar y devolver parámetros suministrados por el usuario. Se implementan como métodos públicos y estáticos en una clase de un ensamblado de .NET Framework. Transact-SQL: Es una colección guardada de instrucciones Transact-SQL que puede tomar y devolver los parámetros proporcionados por el usuario.
  • 35. Procedimientos almacenados temporales Pueden ser locales, aquellos que sus nombres empiecen con el símbolo #, o global aquellos que sus nombres empiecen con el símbolo ##, los procedimientos almacenados temporales locales están disponibles dentro de una sola sesión del usuario; los procedimientos almacenados globales están disponibles dentro de todas las sesiones.
  • 36. Procedimientos almacenados remotos Son procedimientos almacenados que se llaman de un servidor remoto o cliente que se conectan a un servidor diferente. Procedimientos Almacenados Extendidos(xp_) Los procedimientos almacenados extendidos le permiten crear sus propias rutinas externas en un lenguaje de programación como C. Los procedimientos almacenados extendidos aparecen a los usuarios como un procedimiento almacenado normal y se ejecuta de la misma manera.
  • 37. Funciones en Transact SQL Es un grupo de instrucciones con un objetivo en particular. Las funciones pueden recibir datos desde afuera al ser llamadas a través de los parámetros y deben entregar un resultado.
  • 38. SQL Server proporciona al usuario la posibilidad de definir sus propias funciones, conocida como UDF (userdefinedfunctions). Funciones escalares Las funciones escalares devuelven un único valor de cualquier tipo de los datos tal como int, money, varchar, real, etc.   Funciones en línea Son las funciones que devuelven un conjunto de resultados correspondientes a la ejecución de una sentencia SELECT. Funciones en línea de múltiples sentencias Son similares a las funciones en línea excepto que el conjunto de resultados que devuelven puede estar compuesto por la ejecución de varios consultas SELECT. Este tipo de función se usa en situaciones donde se requiere una mayor lógica de proceso.
  • 39. Triggers en Transact SQL Un trigger (o desencadenador) es una clase especial de procedimiento almacenado que se ejecuta automáticamente cuando se produce un evento en el servidor de bases de datos. Trigger DML, se ejecutan cuando un usuario intenta modificar datos mediante un evento de lenguaje de manipulación de datos (DML). Los eventos DML son instrucciones INSERT, UPDATE o DELETE de una tabla o vista. Trigger DDL, se ejecutan en respuesta a una variedad de eventos de lenguaje de definición de datos (DDL). Estos eventos corresponden principalmente a instrucciones CREATE, ALTER y DROP de Transact-SQL, y a determinados procedimientos almacenados del sistema que ejecutan operaciones de tipo DDL.
  • 40. Sintaxis de un trigger CREATE TRIGGER nombre_triggerON { nombre_tabla_o_vista } {     { FOR | AFTER | INSTEAD OF }  { instruccion_modificacion1,  instruccion_modificacion2,  instruccion_modificacion3  } AS Instrucción_sql0 ,Instruccion_sq1 ,Instruccion_sql2 ,…Instrucción_sqlN}
  • 41. Donde cada valor significa: nombre_tabla_o_vista. Es la tabla o vista donde se va ejecutar el desencadenador AFTER ó FOR. Es el valor predeterminado para los desencadenadores ejecutados en tablas que indica que el desencadenador se activa o ejecuta, luego de las Instrucciones T-SQL, siempre y cuando se hayan ejecutado correctamente, con todo lo que esto implica. AFTER es similar a FOR, únicamente se integra FOR en T-SQL por compatibilidad con versiones anteriores, pero es recomendable usar AFTER en lugar de FOR, aunque sea indistinto uno de otro. INSTEAD OF. Esta instrucción es lo contrario a la anterior, indica que lo primero que se ejecuta son las Instrucciones T-SQL del Desencadenador, se activan en lugar de la acción original.
  • 42. instruccion_modificacion  Se refiere a DELETE, INSERT y/o UPDATE; instrucciones de modificación que activarán el desencadenador cuando se aplican o intentan aplicar a la tabla o vista. Puede definirse una o todas en diferentes combinaciones, separadas por comas. Con sus respectivas excepciones. Instrucción_sql. Son las condiciones y acciones del desencadenador que se ejecutan cuando se inserta actualiza o elimina en la tabla en turno, según la configuración del desencadenador, ‘After’ o ‘Instead of’, según sea.
  • 43. Cursores en Transact SQL Un cursor es una variable que nos permite recorrer con un conjunto de resultados obtenido a través de una sentencia SELECT fila a fila. Cuando trabajamos con cursores, la función @@FETCH_STATUS nos indica el estado de la última instrucción FETCH emitida, los valores posibles son:
  • 44. Sintaxis de un Cursor en Transact SQL -- Declaración del cursor DECLARE<nombre_cursor>CURSOR FOR <sentencia_sql>   -- apertura del cursor OPEN<nombre_cursor>   -- Lectura de la primera fila del cursor FETCH<nombre_cursor>INTO<lista_variables>   WHILE(@@FETCH_STATUS= 0) BEGIN -- Lectura de la siguiente fila de un cursor FETCH<nombre_cursor>INTO<lista_variables> ... END-- Fin del bucle WHILE   -- Cierra el cursor CLOSE<nombre_cursor> -- Libera los recursos del cursor DEALLOCATE<nombre_cursor>