SlideShare una empresa de Scribd logo
1 de 11
SQL, MANERA DE
EJECUTAR SENTENCIAS
ING. WILLIAM SÁNCHEZ SÁNCHEZ
¿QUÉ ES SQL?
Un lenguaje estructurado para consultas
Permite acceder y manejar bases de datos
Un Estándar (ANSI American National
Standards Institute)
ejecutar consultas obtener datos
insertar , actualizar y
borrar registros
crear vistas
configurar permisos
a tablas,
procedimientos, y
vistas
crear nuevas bases
de datos
crear nuevas tablas
en una base de
datos
crear procedimientos
almacenados(código
almacenado) en una
base de datos
SENTENCIAS
Create
Alter
Drop
TruncateInsert
Update
Delete
Dinámicos Batch
Transacción Scripts
FORMAS DE
APLICAR
SENTENCIAS
SENTENCIA -DINÁMICA
 Son generadas durante la
ejecución de un script. Por
ejemplo se puede generar
un store procedure con
variables para construir
una sentencia SELECT que
incorpore esas variables.
 Siempre van
acompañadas de la
palabra EXECUTE
(Transact-SQL) con
strings y variables. SQL
determina el valor de las
variables conforme se va
ejecutando el script.
 EJEMPLO:
DECLARE @tabla
varchar(20), @bd
varchar(20)
SET @tabla = 'authors'
SET @bd = 'pubs'
EXECUTE ('USE '+ @bd +
'SELECT * FROM ' +
@tabla )
SENTENCIA - BATH
 Es la ejecución de varias
sentencias juntas.
 Cada vez que se ejecuta una
sentencia de SQL
individualmente, el servidor
presenta cierto overhead para su
procesamiento, en cambio si se
ejecuta varias sentencias de SQL
juntas dentro de un batch recibe
un solo overhead para todas las
sentencias ejecutadas dentro del
batch.
 Los batches mejoran el
performance de SQL debido a
que compila y ejecuta todo
junto.
 Si durante la ejecución del batch
SQL detecta un error de
sintaxis, no se procesa ninguna
sentencia dentro del batch.
 Los batch se definen utilizando el
comando GO, este comando no es
una sentencia de SQL es solo una
forma de identificar el final de un
batch a través de las utilerías de SQL
SQL trata a todas las sentencias que
están antes de un GO como un solo
batch.
 EJEMPLO:
USE pubs
SELECT MAX(price) AS 'Máximo precio'
FROM titles
PRINT ' '
SELECT MIN(price) AS 'Menor precio'
FROM titles
PRINT ' '
SELECT AVG(price) AS 'Precio promedio'
FROM titles
GO
SENTENCIA - TRANSACCIONES
 SQL procesa las transacciones
como un batch, pero la
diferencia entre un batch y una
transacción, es que una
transacción permite deshacer
las operaciones que se
realizaron dentro de una
transacción, cosa que no es
posible en un batch.
 Permite mantener la integridad
referencial en una base de
datos, ya que se ejecuta
satisfactoriamente toda la
transacción o falla toda la
transacción completa. Dentro de
una sola transacción es posible
definir varios batch.
 Para poder marcar el inicio de
una transacción las sentencias
debe de preceder por la palabra
BEGIN TRANSACTION y finalizar
con COMMIT TRANSACTION o
ROLLBACK TRANSACTION. Si
utiliza ROLLBACK
TRANSACCTION SQL deshará la
transacción.
La sintaxis :
BEGIN TRANSACTION
SQL statement #1
SQL statement #2
...
COMMIT TRANSACTION
EJEMPLO
TRANSACCION
El ejemplo clásico de
transacción es una
transferencia
bancaria, en la que
quitamos saldo a una
cuenta y lo añadimos
en otra. Si no somos
capaces de abonar el
dinero en la cuenta de
destino, no debemos
quitarlo de la cuenta de
origen.
 DECLARE @importe DECIMAL(18,2),
 @CuentaOrigen VARCHAR(12),
 @CuentaDestino VARCHAR(12)
 /* Asignamos el importe de la transferencia
 * y las cuentas de origen y destino
 */
 SET @importe = 50
 SET @CuentaOrigen = '200700000001'
 SET @CuentaDestino = '200700000002'
 /* Descontamos el importe de la cuenta origen */
 UPDATE CUENTAS
 SET SALDO = SALDO - @importe
 WHERE NUMCUENTA = @CuentaOrigen
 /* Registramos el movimiento */
 INSERT INTO MOVIMIENTOS
 (IDCUENTA, SALDO_ANTERIOR, SALDO_POSTERIOR, IMPORTE,
FXMOVIMIENTO)
 SELECT
 IDCUENTA, SALDO + @importe, SALDO, @importe, getdate()
 FROM CUENTAS
 WHERE NUMCUENTA = @CuentaOrigen
 /* Incrementamos el importe de la cuenta destino */
 UPDATE CUENTAS
 SET SALDO = SALDO + @importe
 WHERE NUMCUENTA = @CuentaDestino
 /* Registramos el movimiento */
 INSERT INTO MOVIMIENTOS
 (IDCUENTA, SALDO_ANTERIOR, SALDO_POSTERIOR, IMPORTE,
FXMOVIMIENTO)
 SELECT
 IDCUENTA, SALDO - @importe, SALDO, @importe, getdate()
 FROM CUENTAS
 WHERE NUMCUENTA = @CuentaDestino
SENTENCIA SCRIPTS
Es un archivo de texto que contienen una
serie de comandos SQL. Este archivo se
puede abrir con las utilerías de SQL Server y
ejecutarlo como en el caso de osql.
 Pueden ser creados desde cualquier editor de
texto y es recomendable guardarlo con la
extensión .sql para poder distinguirlo de los
demás.
 Cuando se generan scripts es recomendable
comentarlos. SQL Server soporta dos tipos de
comentarios, por línea y por bloque.
Qué es SQL

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Commit&rollback
Commit&rollbackCommit&rollback
Commit&rollback
 
Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)
 
Triggers
TriggersTriggers
Triggers
 
Disparadores
DisparadoresDisparadores
Disparadores
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Ejemplo de Trigger en Mysql
Ejemplo de Trigger en MysqlEjemplo de Trigger en Mysql
Ejemplo de Trigger en Mysql
 
Tema 10
Tema 10Tema 10
Tema 10
 
Sintaxis de START TRANSACTION
Sintaxis de START TRANSACTIONSintaxis de START TRANSACTION
Sintaxis de START TRANSACTION
 
Procedimientos y excepciones
Procedimientos y excepcionesProcedimientos y excepciones
Procedimientos y excepciones
 
PresentacióN 4
PresentacióN 4PresentacióN 4
PresentacióN 4
 
Statement
Statement Statement
Statement
 
Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)
 
Php y MySQL
Php y MySQLPhp y MySQL
Php y MySQL
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Manejo de triggers en sql server
Manejo de triggers en sql server Manejo de triggers en sql server
Manejo de triggers en sql server
 
Clase 5 php
Clase 5 phpClase 5 php
Clase 5 php
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)
 
Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)
 
Curso SQL - Leccion 10
Curso SQL - Leccion 10Curso SQL - Leccion 10
Curso SQL - Leccion 10
 

Destacado

Ventajas y desventajas mysql
Ventajas y desventajas mysqlVentajas y desventajas mysql
Ventajas y desventajas mysqlMary Ruiz
 
Paginas de matematicas
Paginas de matematicasPaginas de matematicas
Paginas de matematicasespanol
 

Destacado (6)

Mantenimiento del pc
Mantenimiento del pcMantenimiento del pc
Mantenimiento del pc
 
LilianaSQLSERVER
LilianaSQLSERVERLilianaSQLSERVER
LilianaSQLSERVER
 
Ventajas y desventajas mysql
Ventajas y desventajas mysqlVentajas y desventajas mysql
Ventajas y desventajas mysql
 
Ventajas desventajas sgbd
Ventajas desventajas sgbdVentajas desventajas sgbd
Ventajas desventajas sgbd
 
Ventajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBDVentajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBD
 
Paginas de matematicas
Paginas de matematicasPaginas de matematicas
Paginas de matematicas
 

Similar a Qué es SQL

Similar a Qué es SQL (20)

7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server
 
Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005
 
Análisis y diseño ii sql php
Análisis y diseño ii sql phpAnálisis y diseño ii sql php
Análisis y diseño ii sql php
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
statement
statementstatement
statement
 
103305862 t-sql
103305862 t-sql103305862 t-sql
103305862 t-sql
 
t-sql
t-sqlt-sql
t-sql
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Charla Mysql
Charla MysqlCharla Mysql
Charla Mysql
 
Sentencia select
Sentencia selectSentencia select
Sentencia select
 
SESION 05.pdf
SESION 05.pdfSESION 05.pdf
SESION 05.pdf
 
Lumisaca hector bdii_t7
Lumisaca hector bdii_t7Lumisaca hector bdii_t7
Lumisaca hector bdii_t7
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
Commit y rollback
Commit y rollbackCommit y rollback
Commit y rollback
 
Investigacion Uno
Investigacion UnoInvestigacion Uno
Investigacion Uno
 
Trabajo grupal - Base de Datos
Trabajo grupal - Base de DatosTrabajo grupal - Base de Datos
Trabajo grupal - Base de Datos
 
Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBC
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 

Último

La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 

Último (20)

La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 

Qué es SQL

  • 1. SQL, MANERA DE EJECUTAR SENTENCIAS ING. WILLIAM SÁNCHEZ SÁNCHEZ
  • 2. ¿QUÉ ES SQL? Un lenguaje estructurado para consultas Permite acceder y manejar bases de datos Un Estándar (ANSI American National Standards Institute)
  • 3. ejecutar consultas obtener datos insertar , actualizar y borrar registros crear vistas configurar permisos a tablas, procedimientos, y vistas crear nuevas bases de datos crear nuevas tablas en una base de datos crear procedimientos almacenados(código almacenado) en una base de datos
  • 6. SENTENCIA -DINÁMICA  Son generadas durante la ejecución de un script. Por ejemplo se puede generar un store procedure con variables para construir una sentencia SELECT que incorpore esas variables.  Siempre van acompañadas de la palabra EXECUTE (Transact-SQL) con strings y variables. SQL determina el valor de las variables conforme se va ejecutando el script.  EJEMPLO: DECLARE @tabla varchar(20), @bd varchar(20) SET @tabla = 'authors' SET @bd = 'pubs' EXECUTE ('USE '+ @bd + 'SELECT * FROM ' + @tabla )
  • 7. SENTENCIA - BATH  Es la ejecución de varias sentencias juntas.  Cada vez que se ejecuta una sentencia de SQL individualmente, el servidor presenta cierto overhead para su procesamiento, en cambio si se ejecuta varias sentencias de SQL juntas dentro de un batch recibe un solo overhead para todas las sentencias ejecutadas dentro del batch.  Los batches mejoran el performance de SQL debido a que compila y ejecuta todo junto.  Si durante la ejecución del batch SQL detecta un error de sintaxis, no se procesa ninguna sentencia dentro del batch.  Los batch se definen utilizando el comando GO, este comando no es una sentencia de SQL es solo una forma de identificar el final de un batch a través de las utilerías de SQL SQL trata a todas las sentencias que están antes de un GO como un solo batch.  EJEMPLO: USE pubs SELECT MAX(price) AS 'Máximo precio' FROM titles PRINT ' ' SELECT MIN(price) AS 'Menor precio' FROM titles PRINT ' ' SELECT AVG(price) AS 'Precio promedio' FROM titles GO
  • 8. SENTENCIA - TRANSACCIONES  SQL procesa las transacciones como un batch, pero la diferencia entre un batch y una transacción, es que una transacción permite deshacer las operaciones que se realizaron dentro de una transacción, cosa que no es posible en un batch.  Permite mantener la integridad referencial en una base de datos, ya que se ejecuta satisfactoriamente toda la transacción o falla toda la transacción completa. Dentro de una sola transacción es posible definir varios batch.  Para poder marcar el inicio de una transacción las sentencias debe de preceder por la palabra BEGIN TRANSACTION y finalizar con COMMIT TRANSACTION o ROLLBACK TRANSACTION. Si utiliza ROLLBACK TRANSACCTION SQL deshará la transacción. La sintaxis : BEGIN TRANSACTION SQL statement #1 SQL statement #2 ... COMMIT TRANSACTION
  • 9. EJEMPLO TRANSACCION El ejemplo clásico de transacción es una transferencia bancaria, en la que quitamos saldo a una cuenta y lo añadimos en otra. Si no somos capaces de abonar el dinero en la cuenta de destino, no debemos quitarlo de la cuenta de origen.  DECLARE @importe DECIMAL(18,2),  @CuentaOrigen VARCHAR(12),  @CuentaDestino VARCHAR(12)  /* Asignamos el importe de la transferencia  * y las cuentas de origen y destino  */  SET @importe = 50  SET @CuentaOrigen = '200700000001'  SET @CuentaDestino = '200700000002'  /* Descontamos el importe de la cuenta origen */  UPDATE CUENTAS  SET SALDO = SALDO - @importe  WHERE NUMCUENTA = @CuentaOrigen  /* Registramos el movimiento */  INSERT INTO MOVIMIENTOS  (IDCUENTA, SALDO_ANTERIOR, SALDO_POSTERIOR, IMPORTE, FXMOVIMIENTO)  SELECT  IDCUENTA, SALDO + @importe, SALDO, @importe, getdate()  FROM CUENTAS  WHERE NUMCUENTA = @CuentaOrigen  /* Incrementamos el importe de la cuenta destino */  UPDATE CUENTAS  SET SALDO = SALDO + @importe  WHERE NUMCUENTA = @CuentaDestino  /* Registramos el movimiento */  INSERT INTO MOVIMIENTOS  (IDCUENTA, SALDO_ANTERIOR, SALDO_POSTERIOR, IMPORTE, FXMOVIMIENTO)  SELECT  IDCUENTA, SALDO - @importe, SALDO, @importe, getdate()  FROM CUENTAS  WHERE NUMCUENTA = @CuentaDestino
  • 10. SENTENCIA SCRIPTS Es un archivo de texto que contienen una serie de comandos SQL. Este archivo se puede abrir con las utilerías de SQL Server y ejecutarlo como en el caso de osql.  Pueden ser creados desde cualquier editor de texto y es recomendable guardarlo con la extensión .sql para poder distinguirlo de los demás.  Cuando se generan scripts es recomendable comentarlos. SQL Server soporta dos tipos de comentarios, por línea y por bloque.