SlideShare una empresa de Scribd logo
Pablo Espada Bueno www.programadorautonomo.net www.esbupa.com
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],CREATE TABLE mySchema.LargeTable (varcharCol varchar(max)) CREATE TABLE mySchema.XMLTable (idCol int, xmlCol xml)
[object Object],[object Object],[object Object],[object Object],ALTER INDEX IX_CustDOB ON Sales.Customer DISABLE ALTER INDEX PK_CustId ON Sales.Customer REBUILD ALTER INDEX ALL ON Sales.Customer REBUILD
[object Object],[object Object],[object Object],ALTER INDEX PK_CustId ON Sales.Customer REORGANIZE CREATE NONCLUSTERED INDEX IX_CustomerPostalCode  ON Sales.Customer (PostalCode)  INCLUDE (AddressLine1, AddressLine2, City)
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
DECLARE @InsertDetails TABLE ( ProductID int, InsertedBy sysname )  INSERT INTO Stock.ProductList  OUTPUT INSERTED.ProductID, suser_name() INTO @InsertDetails  VALUES ('Racing Bike', 412.99)  SELECT * FROM @InsertDetails  DECLARE @PriceChangeDetails TABLE ( ProductID int, OldPrice money, NewPrice money, UpdatedBy sysname )  UPDATE Stock.ProductList SET Price = 3.99  OUTPUT INSERTED.ProductID, DELETED.Price, INSERTED.Price, suser_name() INTO @PriceChangeDetails  WHERE ProductID = 1  SELECT * FROM @PriceChangeDetails  DECLARE @DeleteDetails TABLE ( ProductID int, DeletedBy sysname ) DELETE Stock.ProductList  OUTPUT DELETED.ProductID, suser_name() INTO @DeleteDetails  WHERE ProductID = 2  SELECT * FROM @DeleteDetails
[object Object],[object Object],[object Object],WITH TopSales (SalesPersonID, NumSales)  AS  (  SELECT SalesPersonID, Count(*)  FROM Sales.SalesOrderHeader  GROUP BY SalesPersonId  )  --Select simple SELECT * FROM TopSales  WHERE SalesPersonID IS NOT NULL  ORDER BY NumSales DESC  --Ejemplo de Join SELECT ts.SalesPersonID, sp.SalesYTD, ts.NumSales  FROM Sales.SalesPerson sp INNER JOIN TopSales ts ON ts.SalesPersonID = sp.SalesPersonID  ORDER BY NumSales DESC
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],CREATE TABLE Sales.[Order]  (  Customer varchar(8),  Product varchar(5),  Quantity int  )  Customer Product Quantity Mike  Bike  3 Mike  Chain  2 Mike  Bike  5 Lisa  Bike  3 Lisa  Chain  3 Lisa  Chain  4
[object Object],[object Object],SELECT * FROM Sales.[Order]  PIVOT (SUM(Quantity) FOR Product IN ([Bike],[Chain])) AS PVT Customer Bike Chain Lisa  3 7 Mike  8 2 Lisa  3 7 Mike  8 2 Lisa  3 7 Mike  8 2
[object Object],[object Object],SELECT Customer, Product, Quantity FROM Sales.PivotedOrder UNPIVOT (Quantity FOR Product IN ([Bike],[Chain])) AS UnPVT  Customer Product Quantity Mike  Bike  8 Mike  Chain  2 Lisa  Bike  3 Lisa  Chain  7
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],CREATE FUNCTION Sales.MostRecentOrders(@CustID int) RETURNS TABLE AS  RETURN  SELECT TOP (3) SalesOrderID, OrderDate  FROM Sales.SalesOrderHeader  WHERE CustomerID = @CustID  ORDER BY OrderDate DESC SELECT Name Customer, MR.*  FROM Sales.Store  CROSS APPLY Sales.MostRecentOrders(CustomerID) AS MR
[object Object],SELECT Name AS Customer, MR.*  FROM Sales.Store  OUTER APPLY Sales.MostRecentOrders(CustomerID) AS MR
[object Object],[object Object],[object Object],OVER ( [ PARTITION BY < value_expression > , ... [ n ] ]  ORDER BY <column> [ ASC | DESC ] [, ...[ n ] ] )
[object Object],SELECT P.Name Product, P.ListPrice, PSC.Name Category, RANK() OVER(PARTITION BY PSC.Name ORDER BY P.ListPrice DESC) AS PriceRank FROM Production.Product P JOIN Production.ProductSubCategory PSC ON P.ProductSubCategoryID = PSC.ProductSubCategoryID
[object Object],SELECT P.Name Product, P.ListPrice, PSC.Name Category, DENSE_RANK() OVER(PARTITION BY PSC.Name ORDER BY P.ListPrice DESC) AS PriceRank FROM Production.Product P JOIN Production.ProductSubCategory PSC ON P.ProductSubCategoryID = PSC.ProductSubCategoryID
[object Object],SELECT ROW_NUMBER() OVER(PARTITION BY PC.Name ORDER BY ListPrice) AS Row, PC.Name Category, P.Name Product, P.ListPrice FROM Production.Product P JOIN Production.ProductSubCategory PSC ON P.ProductSubCategoryID = PSC.ProductSubCategoryID JOIN Production.ProductCategory PC ON PSC.ProductCategoryID = PC.ProductCategoryID
[object Object],SELECT NTILE(3) OVER(PARTITION BY PC.Name ORDER BY ListPrice) AS PriceBand, PC.Name Category, P.Name Product, P.ListPrice FROM Production.Product P JOIN Production.ProductSubCategory PSC ON P.ProductSubCategoryID = PSC.ProductSubCategoryID JOIN Production.ProductCategory PC ON PSC.ProductCategoryID = PC.ProductCategoryID
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],BEGIN TRY { sql_statement | statement_block } END TRY BEGIN CATCH TRAN_ABORT { sql_statement | statement_block } END CATCH
[object Object],[object Object],[object Object]
CREATE TABLE dbo.DataTable (ColA int PRIMARY KEY, ColB int) CREATE TABLE dbo.ErrorLog (ColA int, ColB int, error int, date datetime) GO CREATE PROCEDURE dbo.AddData @a int, @b int AS SET XACT_ABORT ON BEGIN TRY BEGIN TRAN INSERT INTO dbo.DataTable VALUES (@a, @b) COMMIT TRAN END TRY BEGIN CATCH TRAN_ABORT DECLARE @err int SET @err = @@error --trap the error number ROLLBACK TRAN INSERT INTO dbo.ErrorLog VALUES (@a, @b, @err, GETDATE()) END CATCH GO EXEC dbo.AddData 1, 1 EXEC dbo.AddData 2, 2 EXEC dbo.AddData 1, 3 --violates the primary key

Más contenido relacionado

La actualidad más candente

Funciones
FuncionesFunciones
Funciones
Fernando Solis
 
Visual Basic
Visual BasicVisual Basic
Visual Basic
guestf15e13
 
Elementos
ElementosElementos
Elementos
Fernando Solis
 
Tutorial de programación hp user rpl en modo algebraico v1.2
Tutorial de programación hp user rpl en modo algebraico v1.2Tutorial de programación hp user rpl en modo algebraico v1.2
Tutorial de programación hp user rpl en modo algebraico v1.2
Jeremy Butler
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
Erwin Fischer
 
Sesion08 - Cursores (Oracle)
Sesion08 - Cursores (Oracle)Sesion08 - Cursores (Oracle)
Sesion08 - Cursores (Oracle)
José Toro
 
Manejo y programación de la calculadora hp50g
Manejo y programación de la calculadora hp50gManejo y programación de la calculadora hp50g
Manejo y programación de la calculadora hp50g
onsepulvedas
 
Investigacion Uno
Investigacion UnoInvestigacion Uno
Investigacion Uno
Roberto
 
Sesión11 - Paquetes (Oracle)
Sesión11 - Paquetes (Oracle)Sesión11 - Paquetes (Oracle)
Sesión11 - Paquetes (Oracle)
José Toro
 
Forms 10g procedimientos y cursores
Forms 10g procedimientos y cursoresForms 10g procedimientos y cursores
Forms 10g procedimientos y cursores
Edwin Romero
 
Introducción a Sql
Introducción a SqlIntroducción a Sql
Introducción a Sql
alexmerono
 
Pseudocódigo apunte segun sea y subrutinas
Pseudocódigo apunte segun sea y subrutinasPseudocódigo apunte segun sea y subrutinas
Pseudocódigo apunte segun sea y subrutinas
Alejandro Canosa
 
Pl Sql
Pl SqlPl Sql
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
Fernando Solis
 
Manual hp2
Manual hp2Manual hp2
Manual hp2
ANDRES DIAZ
 
Los lenguajes
Los lenguajesLos lenguajes
Los lenguajes
arianny lopez
 
Master vba
Master vbaMaster vba
Master vba
carlos blass
 
Sentencias Sql
Sentencias SqlSentencias Sql
Sentencias Sql
fer951
 
Comandos vb
Comandos vbComandos vb
Comandos vb
SamuelCondoriMamani
 
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
Bolivar Castillo
 

La actualidad más candente (20)

Funciones
FuncionesFunciones
Funciones
 
Visual Basic
Visual BasicVisual Basic
Visual Basic
 
Elementos
ElementosElementos
Elementos
 
Tutorial de programación hp user rpl en modo algebraico v1.2
Tutorial de programación hp user rpl en modo algebraico v1.2Tutorial de programación hp user rpl en modo algebraico v1.2
Tutorial de programación hp user rpl en modo algebraico v1.2
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
 
Sesion08 - Cursores (Oracle)
Sesion08 - Cursores (Oracle)Sesion08 - Cursores (Oracle)
Sesion08 - Cursores (Oracle)
 
Manejo y programación de la calculadora hp50g
Manejo y programación de la calculadora hp50gManejo y programación de la calculadora hp50g
Manejo y programación de la calculadora hp50g
 
Investigacion Uno
Investigacion UnoInvestigacion Uno
Investigacion Uno
 
Sesión11 - Paquetes (Oracle)
Sesión11 - Paquetes (Oracle)Sesión11 - Paquetes (Oracle)
Sesión11 - Paquetes (Oracle)
 
Forms 10g procedimientos y cursores
Forms 10g procedimientos y cursoresForms 10g procedimientos y cursores
Forms 10g procedimientos y cursores
 
Introducción a Sql
Introducción a SqlIntroducción a Sql
Introducción a Sql
 
Pseudocódigo apunte segun sea y subrutinas
Pseudocódigo apunte segun sea y subrutinasPseudocódigo apunte segun sea y subrutinas
Pseudocódigo apunte segun sea y subrutinas
 
Pl Sql
Pl SqlPl Sql
Pl Sql
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Manual hp2
Manual hp2Manual hp2
Manual hp2
 
Los lenguajes
Los lenguajesLos lenguajes
Los lenguajes
 
Master vba
Master vbaMaster vba
Master vba
 
Sentencias Sql
Sentencias SqlSentencias Sql
Sentencias Sql
 
Comandos vb
Comandos vbComandos vb
Comandos vb
 
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
 

Similar a Mejoras en T-SQL para SQL Server 2005

Sentencia select
Sentencia selectSentencia select
Sentencia select
AnthonyLeonRuiz
 
Vistas (1)
Vistas (1)Vistas (1)
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
Luis Jherry
 
Qué es SQL
Qué es SQL Qué es SQL
Qué es SQL
William Sánchez
 
Sentencias sql
Sentencias sqlSentencias sql
bd2-teorico02.pdf
bd2-teorico02.pdfbd2-teorico02.pdf
bd2-teorico02.pdf
srmv59
 
Tutorial Sql
Tutorial SqlTutorial Sql
Tutorial Sql
Marco Toro
 
Charla Mysql
Charla MysqlCharla Mysql
Charla Mysql
Matías Alejo Garcia
 
Consultas condicionales en sq server
Consultas condicionales en sq serverConsultas condicionales en sq server
Consultas condicionales en sq server
Edwards Leon Paredes
 
Funciones+sql+server
Funciones+sql+serverFunciones+sql+server
Funciones+sql+server
lourdes ayala morales
 
Commit y rollback
Commit y rollbackCommit y rollback
Commit y rollback
linis129
 
Ti. Sql.Caso1al9.Consultas
Ti. Sql.Caso1al9.ConsultasTi. Sql.Caso1al9.Consultas
Ti. Sql.Caso1al9.Consultas
Juan Martinez Cataldi
 
Arreglos, Procedimientos y Funciones
Arreglos, Procedimientos y FuncionesArreglos, Procedimientos y Funciones
Arreglos, Procedimientos y Funciones
Cesar David Fernandez Grueso
 
Seleccion de datos_sql_2005
Seleccion de datos_sql_2005Seleccion de datos_sql_2005
Seleccion de datos_sql_2005
Santiago Petter Andonayre Veliz
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
Luis Jherry
 
Proyecto Base de Datos I
Proyecto Base de Datos IProyecto Base de Datos I
Proyecto Base de Datos I
Marcia Ramos
 
Guia de ejercicio sql
Guia de ejercicio sqlGuia de ejercicio sql
Guia de ejercicio sql
Ashley Stronghold Witwicky
 
Precentacion de sql visual
Precentacion de sql visualPrecentacion de sql visual
Precentacion de sql visual
BryanChacon12
 
Manual_Mysql Query Browser
Manual_Mysql Query BrowserManual_Mysql Query Browser
Manual_Mysql Query Browser
Magno Raymundo Diaz
 
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
 

Similar a Mejoras en T-SQL para SQL Server 2005 (20)

Sentencia select
Sentencia selectSentencia select
Sentencia select
 
Vistas (1)
Vistas (1)Vistas (1)
Vistas (1)
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 
Qué es SQL
Qué es SQL Qué es SQL
Qué es SQL
 
Sentencias sql
Sentencias sqlSentencias sql
Sentencias sql
 
bd2-teorico02.pdf
bd2-teorico02.pdfbd2-teorico02.pdf
bd2-teorico02.pdf
 
Tutorial Sql
Tutorial SqlTutorial Sql
Tutorial Sql
 
Charla Mysql
Charla MysqlCharla Mysql
Charla Mysql
 
Consultas condicionales en sq server
Consultas condicionales en sq serverConsultas condicionales en sq server
Consultas condicionales en sq server
 
Funciones+sql+server
Funciones+sql+serverFunciones+sql+server
Funciones+sql+server
 
Commit y rollback
Commit y rollbackCommit y rollback
Commit y rollback
 
Ti. Sql.Caso1al9.Consultas
Ti. Sql.Caso1al9.ConsultasTi. Sql.Caso1al9.Consultas
Ti. Sql.Caso1al9.Consultas
 
Arreglos, Procedimientos y Funciones
Arreglos, Procedimientos y FuncionesArreglos, Procedimientos y Funciones
Arreglos, Procedimientos y Funciones
 
Seleccion de datos_sql_2005
Seleccion de datos_sql_2005Seleccion de datos_sql_2005
Seleccion de datos_sql_2005
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 
Proyecto Base de Datos I
Proyecto Base de Datos IProyecto Base de Datos I
Proyecto Base de Datos I
 
Guia de ejercicio sql
Guia de ejercicio sqlGuia de ejercicio sql
Guia de ejercicio sql
 
Precentacion de sql visual
Precentacion de sql visualPrecentacion de sql visual
Precentacion de sql visual
 
Manual_Mysql Query Browser
Manual_Mysql Query BrowserManual_Mysql Query Browser
Manual_Mysql Query Browser
 
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)
 

Último

Programas relacionados con la telemática.pdf
Programas relacionados con la telemática.pdfProgramas relacionados con la telemática.pdf
Programas relacionados con la telemática.pdf
DiegoPinillo
 
Diagrama de pareto.docx trabajo de tecnologia
Diagrama de pareto.docx trabajo de tecnologiaDiagrama de pareto.docx trabajo de tecnologia
Diagrama de pareto.docx trabajo de tecnologia
RazeThefox
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
231458066
 
trabajo monografico sobre el yandex .jim
trabajo monografico sobre el yandex .jimtrabajo monografico sobre el yandex .jim
trabajo monografico sobre el yandex .jim
jhonyaicaterodriguez
 
verbo to be en ingles una manera facil de aprenderlos
verbo to be en ingles una manera facil de aprenderlosverbo to be en ingles una manera facil de aprenderlos
verbo to be en ingles una manera facil de aprenderlos
YendierMosqueralemus
 
Gobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a finGobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a fin
Juan Carlos Gonzalez
 
trabajo _20240621_132119_0000.pdf-.......
trabajo _20240621_132119_0000.pdf-.......trabajo _20240621_132119_0000.pdf-.......
trabajo _20240621_132119_0000.pdf-.......
m15918387
 
Ingeniería en Telemática y ejercicios.pdf
Ingeniería en Telemática y ejercicios.pdfIngeniería en Telemática y ejercicios.pdf
Ingeniería en Telemática y ejercicios.pdf
Camila301231
 
Estructuras básicas_ conceptos básicos de programación (1).pdf
Estructuras básicas_ conceptos básicos de programación  (1).pdfEstructuras básicas_ conceptos básicos de programación  (1).pdf
Estructuras básicas_ conceptos básicos de programación (1).pdf
MaraJos722801
 
MECANICA DE SUELOS II ENSAYO SPT, PMT y CPT
MECANICA DE SUELOS II  ENSAYO SPT, PMT y CPTMECANICA DE SUELOS II  ENSAYO SPT, PMT y CPT
MECANICA DE SUELOS II ENSAYO SPT, PMT y CPT
EddyRamirez17
 
Herramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientasHerramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientas
yessicacarrillo16
 
C1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptxC1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptx
Guillermo Obispo San Román
 
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxLA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
pauca1501alvar
 
saludos en ingles de una forma mas facil y divertida
saludos en ingles de una forma mas facil y divertidasaludos en ingles de una forma mas facil y divertida
saludos en ingles de una forma mas facil y divertida
YendierMosqueralemus
 
Plan de racionamiento de energía en Venezuela
Plan de racionamiento de energía en VenezuelaPlan de racionamiento de energía en Venezuela
Plan de racionamiento de energía en Venezuela
Gabrielm88
 
informe de diagrama de pareto actividad segundo periodo 11-2
informe de diagrama de pareto actividad segundo periodo 11-2informe de diagrama de pareto actividad segundo periodo 11-2
informe de diagrama de pareto actividad segundo periodo 11-2
SofaNava1
 
trabajo 2do perido.pdf diagrama de pareto
trabajo 2do perido.pdf diagrama de paretotrabajo 2do perido.pdf diagrama de pareto
trabajo 2do perido.pdf diagrama de pareto
BRIANHERNANDEZVALENC
 
Excel Avanzado_ Diagrama de Pareto .pdf
Excel Avanzado_  Diagrama de Pareto .pdfExcel Avanzado_  Diagrama de Pareto .pdf
Excel Avanzado_ Diagrama de Pareto .pdf
IsabellaLugo3
 
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
KukiiSanchez
 
Plantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptxPlantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptx
edwinedsonsuyo
 

Último (20)

Programas relacionados con la telemática.pdf
Programas relacionados con la telemática.pdfProgramas relacionados con la telemática.pdf
Programas relacionados con la telemática.pdf
 
Diagrama de pareto.docx trabajo de tecnologia
Diagrama de pareto.docx trabajo de tecnologiaDiagrama de pareto.docx trabajo de tecnologia
Diagrama de pareto.docx trabajo de tecnologia
 
El uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidianaEl uso de las TIC's en la vida cotidiana
El uso de las TIC's en la vida cotidiana
 
trabajo monografico sobre el yandex .jim
trabajo monografico sobre el yandex .jimtrabajo monografico sobre el yandex .jim
trabajo monografico sobre el yandex .jim
 
verbo to be en ingles una manera facil de aprenderlos
verbo to be en ingles una manera facil de aprenderlosverbo to be en ingles una manera facil de aprenderlos
verbo to be en ingles una manera facil de aprenderlos
 
Gobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a finGobernanza con SharePoint Premium de principio a fin
Gobernanza con SharePoint Premium de principio a fin
 
trabajo _20240621_132119_0000.pdf-.......
trabajo _20240621_132119_0000.pdf-.......trabajo _20240621_132119_0000.pdf-.......
trabajo _20240621_132119_0000.pdf-.......
 
Ingeniería en Telemática y ejercicios.pdf
Ingeniería en Telemática y ejercicios.pdfIngeniería en Telemática y ejercicios.pdf
Ingeniería en Telemática y ejercicios.pdf
 
Estructuras básicas_ conceptos básicos de programación (1).pdf
Estructuras básicas_ conceptos básicos de programación  (1).pdfEstructuras básicas_ conceptos básicos de programación  (1).pdf
Estructuras básicas_ conceptos básicos de programación (1).pdf
 
MECANICA DE SUELOS II ENSAYO SPT, PMT y CPT
MECANICA DE SUELOS II  ENSAYO SPT, PMT y CPTMECANICA DE SUELOS II  ENSAYO SPT, PMT y CPT
MECANICA DE SUELOS II ENSAYO SPT, PMT y CPT
 
Herramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientasHerramientas para los abogados, 3 herramientas
Herramientas para los abogados, 3 herramientas
 
C1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptxC1B3RWALL La red de cooperación de Madrid.pptx
C1B3RWALL La red de cooperación de Madrid.pptx
 
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxLA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
 
saludos en ingles de una forma mas facil y divertida
saludos en ingles de una forma mas facil y divertidasaludos en ingles de una forma mas facil y divertida
saludos en ingles de una forma mas facil y divertida
 
Plan de racionamiento de energía en Venezuela
Plan de racionamiento de energía en VenezuelaPlan de racionamiento de energía en Venezuela
Plan de racionamiento de energía en Venezuela
 
informe de diagrama de pareto actividad segundo periodo 11-2
informe de diagrama de pareto actividad segundo periodo 11-2informe de diagrama de pareto actividad segundo periodo 11-2
informe de diagrama de pareto actividad segundo periodo 11-2
 
trabajo 2do perido.pdf diagrama de pareto
trabajo 2do perido.pdf diagrama de paretotrabajo 2do perido.pdf diagrama de pareto
trabajo 2do perido.pdf diagrama de pareto
 
Excel Avanzado_ Diagrama de Pareto .pdf
Excel Avanzado_  Diagrama de Pareto .pdfExcel Avanzado_  Diagrama de Pareto .pdf
Excel Avanzado_ Diagrama de Pareto .pdf
 
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
Morado y Verde Animado Patrón Abstracto Proyecto de Grupo Presentación de Edu...
 
Plantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptxPlantilla carrier y tecnologia de TIGO.pptx
Plantilla carrier y tecnologia de TIGO.pptx
 

Mejoras en T-SQL para SQL Server 2005

  • 1. Pablo Espada Bueno www.programadorautonomo.net www.esbupa.com
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. DECLARE @InsertDetails TABLE ( ProductID int, InsertedBy sysname ) INSERT INTO Stock.ProductList OUTPUT INSERTED.ProductID, suser_name() INTO @InsertDetails VALUES ('Racing Bike', 412.99) SELECT * FROM @InsertDetails DECLARE @PriceChangeDetails TABLE ( ProductID int, OldPrice money, NewPrice money, UpdatedBy sysname ) UPDATE Stock.ProductList SET Price = 3.99 OUTPUT INSERTED.ProductID, DELETED.Price, INSERTED.Price, suser_name() INTO @PriceChangeDetails WHERE ProductID = 1 SELECT * FROM @PriceChangeDetails DECLARE @DeleteDetails TABLE ( ProductID int, DeletedBy sysname ) DELETE Stock.ProductList OUTPUT DELETED.ProductID, suser_name() INTO @DeleteDetails WHERE ProductID = 2 SELECT * FROM @DeleteDetails
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. CREATE TABLE dbo.DataTable (ColA int PRIMARY KEY, ColB int) CREATE TABLE dbo.ErrorLog (ColA int, ColB int, error int, date datetime) GO CREATE PROCEDURE dbo.AddData @a int, @b int AS SET XACT_ABORT ON BEGIN TRY BEGIN TRAN INSERT INTO dbo.DataTable VALUES (@a, @b) COMMIT TRAN END TRY BEGIN CATCH TRAN_ABORT DECLARE @err int SET @err = @@error --trap the error number ROLLBACK TRAN INSERT INTO dbo.ErrorLog VALUES (@a, @b, @err, GETDATE()) END CATCH GO EXEC dbo.AddData 1, 1 EXEC dbo.AddData 2, 2 EXEC dbo.AddData 1, 3 --violates the primary key