EQUIPO 8         INTEGRANTES:   LAYNA LÓPEZ JESÚS ANDRÉSESPINOSA GÓMEZ AMIR JOSELEPH     FLORES CAMPOS AMIR
Data Manipulation Language(DML) Statements• Lenguaje de manipulación de datos (DML) es un vocabulario que se  utiliza para...
En la tabla siguiente se enumeran las cláusulas que se utilizan en varias sentenciasDML o cláusulas.                  Clau...
BULK INSERT • Importa un archivo de datos en una tabla o vista de base de datos en   un formato especificado por el usuari...
Data Types• String-to-Decimal de datos Conversiones de tipos Las conversiones de cadena a decimal de tipo de datos utiliza...
Tipos de datos para la Exportación o importaciónmasiva de SQL documentos XML.Para la exportación a granel o datos SQLXML, ...
RestriccionesCuando se utiliza un archivo de formato con BULK INSERT, puedeespecificar hasta 1024 sólo los campos. Esto es...
DELETEElimina una o más filas de una tabla o vista de SQL Server 2012Mejores PrácticasPara eliminar todas las filas de una...
CONTROL DE ERRORESSe puede implementar el control de errores para la instrucción DELETEespecificando la declaración en unC...
LIMITACIONES YRESTRICCIONESCuando se utiliza con TOP DELETE, las filas se hace referencia no estándispuestos en cualquier ...
LA CAPTURA DE LOS RESULTADOSDE LA INSTRUCCIÓN DELETEA. Utilizar DELETE con la cláusula OUTPUTEl siguiente ejemplo muestra ...
B. Usar OUTPUT con <from_table_name> en una instrucción DELETEEl ejemplo siguiente se eliminan las filas de la tabla Produ...
FROMEspecifica las tablas, vistas, tablas derivadas y tablas utilizadas en DELETE, SELECT y UPDATE deSQL Server 2012. En l...
PERMISOSRequiere los permisos para el DELETE, SELECT o UPDATE.A. Utilizando un simple cláusula FROM               5 Southe...
HintsLas sugerencias son las opciones o estrategias específicas para la aplicación por elprocesador de consultas de SQL Se...
Query HintsLas sugerencias de consulta especifica que las sugerencias indicadas, debeutilizarse la consulta. Afectan a tod...
RemarksLas sugerencias de consulta no se puede especificar en unasentencia INSERT excepto cuando hay una cláusula SELECT s...
Table HintsLas sugerencias de tabla anular el comportamiento predeterminado deloptimizador de consultas para la duración d...
ObservacionesLas sugerencias de tabla se ignora si la tabla no se accede por el plan deconsulta. Esto puede ser causado po...
Usando NOEXPANDNOEXPAND sólo se aplica a las vistas indizadas. Una vista indizada es unavista con un índice agrupado único...
1 está implícitamente ARITHABORT en ON cuando ANSI_WARNINGS estáestablecido en ON. Por lo tanto, usted no tiene que ajusta...
Usando una sugerencia de tabla como unasugerencia de consultaLas sugerencias de tabla también se puede especificar como un...
INSERTTipos de datosAl insertar filas, considere el comportamiento tipo de datos siguientes:• Si un valor se carga en colu...
Data type              Default operation                   Pad valor con espacios para elchar               ancho definido...
Si una cadena vacía ("") se carga en una columna con un tipo varchar o texto dedatos, la operación predeterminada es carga...
Control de erroresPuede implementar el manejo de errores para la instrucción INSERT especificando ladeclaración en unConst...
MERGERealiza inserción, actualización o eliminación en una tabla de destino enfunción de los resultados de una combinación...
Utilice la sugerencia de tabla READPAST enUPDATE y DELETE si el escenario permite quevarias aplicaciones realicen una lect...
EjemplosA. Usar OUTPUT INTO con una instrucción INSERT simpleEl ejemplo siguiente inserta una fila en la tablaScrapReason ...
USE AdventureWorks2012;GODECLARE @MyTableVar table( NewScrapReasonID smallint,Name varchar(50),ModifiedDate datetime);INSE...
OUTPUT Clause• Devuelve información de, o expresiones basadas en, cada fila  afectada por una instrucción INSERT, UPDATE, ...
• Tipos de datos La cláusula OUTPUT admite los tipos de datos de objetos grandes: nvarchar (max), varchar (max), varbinary...
SELECT• Recupera filas de la base de datos y permite la selección de  una o varias filas o columnas de una o varias tablas...
PermisosSelección de datos requiere el permiso SELECT en la tablao vista, lo que podría ser heredado de un ámbito superior...
Group By• Agrupa un conjunto seleccionado de filas en un conjunto de filas de  resumen de los valores de una o más columna...
Una cláusula GROUP BY general incluye GROUPING SETS,CUBE, ROLLUP, CUBE CON oWITH ROLLUP.Un simple GROUP BY no incluye GROU...
HAVINGEspecifica una condición de búsqueda para un grupo o unagregado. HABIENDO sólo se puede utilizar con la instrucciónS...
INTO Clause• SELECT ... INTO crea una nueva tabla en el grupo de archivos  predeterminado e inserta las filas resultantes ...
ORDER BY ClauseOrdena los datos devueltos por una consulta en SQLServer 2012. Utilice esta cláusula para:• Ordenar el conj...
InteroperabilidadCuando se utiliza con un SELECT ... INTO para insertar filasde otra fuente, el ORDER BYcláusula no garant...
Limitaciones y restriccionesNo hay límite al número de columnas de la cláusula ORDER BY, sinembargo, el tamaño total de la...
Los nombres de columnas y alias especificados en la cláusula ORDER BY sedebe definir en la lista de selección si la instru...
O OFFSET y FETCH cláusulas. La cláusula ORDER BY nogarantiza resultados ordenados cuando estasconstrucciones se consultan,...
OVER ClauseDetermina la partición y el ordenamiento de un conjuntode filas antes de la función de ventana asociado se apli...
Limitaciones y restriccionesLa cláusula OVER no se puede utilizar con la función de agregadoCHECKSUM.RANGO no se puede uti...
Table Value ConstructorEspecifica un conjunto de expresiones de valor defila para ser construidos en una tabla. El constru...
TOP• Limita las filas devueltas en un resultado de consulta  establecido en un número especificado de filas o porcentaje  ...
con la AsistenciaPara la compatibilidad con versiones anteriores, losparéntesis son opcionales en instrucciones SELECT. Le...
Limitaciones y restriccionesCuando se utiliza con TOP INSERT, UPDATE, MERGE o DELETE, las filasse hace referencia no están...
UPDATELos cambios de datos existentes en una tabla o vista de SQLServer 2012. Para ejemplos, vea Ejemplos.
Con la AsistenciaSoporte para el uso de los NOLOCKREADUNCOMMITTED y en la cláusula FROM que seaplican a la tabla de destin...
Tipos de datosTodas las columnas char y nchar se haga con relleno a la longitud definida.Si ANSI_PADDING se establece en O...
La captura de los resultados de la instrucciónUPDATELos ejemplos de esta sección muestran cómo utilizar la cláusulaOUTPUT ...
UPDATETEXTActualiza un texto existente, ntext o campo de imagen. UtiliceUPDATETEXT para cambiar sólo una parte de un texto...
WHERE• Especifica la condición de búsqueda de las filas devueltas por  la consulta.
WITHcommon_table_expression• Especifica un conjunto con nombre temporal  resultado, conocido como una expresión de tabla c...
WRITETEXT• Permite el registro mínimo, la actualización interactiva de un  texto existente, ntext o columna de imagen. WRI...
Transact-SQL SyntaxConventions• En la tabla siguiente se enumeran y describen las  convenciones que se utilizan en los dia...
Upcoming SlideShare
Loading in...5
×

Expo

525

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
525
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Expo

  1. 1. EQUIPO 8 INTEGRANTES: LAYNA LÓPEZ JESÚS ANDRÉSESPINOSA GÓMEZ AMIR JOSELEPH FLORES CAMPOS AMIR
  2. 2. Data Manipulation Language(DML) Statements• Lenguaje de manipulación de datos (DML) es un vocabulario que se utiliza para recuperar y trabajar con datos en SQL Server 2012. Utilice estas instrucciones para agregar, modificar, consultar o eliminar datos de una base de datos SQL Server.• En la tabla siguiente se muestran las instrucciones DML que usa SQL Server. BULK INSERT (Transact-SQL) SELECT (Transact-SQL) DELETE (Transact-SQL) UPDATE (Transact-SQL) INSERT (Transact-SQL) UPDATETEXT (Transact-SQL) MERGE (Transact-SQL) WRITETEXT (Transact-SQL) READTEXT (Transact-SQL)
  3. 3. En la tabla siguiente se enumeran las cláusulas que se utilizan en varias sentenciasDML o cláusulas. Clause Can be used in these statements FROM (Transact-SQL) DELETE, SELECT, UPDATE Hints (Transact-SQL) DELETE, INSERT, SELECT, UPDATE OPTION Clause (Transact-SQL) DELETE, SELECT, UPDATE OUTPUT Clause (Transact-SQL) DELETE, INSERT, MERGE, UPDATE Search Condition (Transact-SQL) DELETE, MERGE, SELECT, UPDATE Table Value Constructor (Transact-SQL) FROM, INSERT, MERGE TOP (Transact-SQL) DELETE, INSERT, MERGE, SELECT, UPDATE WHERE (Transact-SQL) DELETE, SELECT, UPDATE WITH common_table_expression DELETE, INSERT, MERGE, SELECT, (Transact- SQL) UPDATE
  4. 4. BULK INSERT • Importa un archivo de datos en una tabla o vista de base de datos en un formato especificado por el usuario.Compatibilidad:BULK INSERT aplica la validación de datos estricta y comprobaciones dedatos de lectura de datos desde un archivo que podría causar scriptsexistentes a fallar cuando se ejecutan en datos no válidos. Por ejemplo,BULK INSERT comprueba que:• Las representaciones nativas de flotador o tipos de datos reales sonválidos.• Los datos Unicode tienen una longitud de un byte.
  5. 5. Data Types• String-to-Decimal de datos Conversiones de tipos Las conversiones de cadena a decimal de tipo de datos utilizados en BULK INSERT siguen las mismas reglas que la función CONVERT de Transact-SQL, que rechaza cadenas que representan valores numéricos que utilizan la notación científica. Por lo tanto, BULK INSERT trata a cadenas como valores no válidos y los informes de errores de conversión. Para evitar este comportamiento, utilice un archivo de formato para importación masiva de datos de notación científica flotador en una columna decimal. En el archivo de formato, describir explícitamente la columna como datos reales o float. Para obtener más información acerca de estos tipos de datos, vea float y real (Transact-SQL).
  6. 6. Tipos de datos para la Exportación o importaciónmasiva de SQL documentos XML.Para la exportación a granel o datos SQLXML, utilice uno delos siguientes tipos de datos en el archivo de formato: Data type Effect SQLCHAR or SQLVARYCHAR The data is sent in the client code page or in the code page implied by the collation). The effect is the same as specifying the DATAFILETYPE =char without specifying a format file. SQLNCHAR or SQLNVARCHAR The data is sent as Unicode. The effect is the same as specifying the DATAFILETYPE = widechar without specifying a format file. SQLBINARY or SQLVARYBIN The data is sent without any conversion.
  7. 7. RestriccionesCuando se utiliza un archivo de formato con BULK INSERT, puedeespecificar hasta 1024 sólo los campos. Esto es igual que el númeromáximo de columnas permitidas en una tabla. Si utiliza BULK INSERTcon un archivo de datos que contiene más de 1024 campos, BULKINSERT genera el error 4822. La utilidad bcp no tiene esta limitación,por lo que para los archivos de datos que contienen más de 1024campos, utilice el bcp comando.
  8. 8. DELETEElimina una o más filas de una tabla o vista de SQL Server 2012Mejores PrácticasPara eliminar todas las filas de una tabla, utilice TRUNCATE TABLE. TRUNCATE TABLE esmás rápida que DELETE y utiliza menos recursos del sistema y del registro detransacciones.
  9. 9. CONTROL DE ERRORESSe puede implementar el control de errores para la instrucción DELETEespecificando la declaración en unConstrucción TRY ... CATCH.La instrucción DELETE puede fallar si se viola un gatillo o intenta quitar una filaindicada por los datos de otra tabla con una restricción FOREIGN KEY. Si elDELETE elimina varias filas, y cualquiera de las filas eliminadas viola undesencadenador o restricción, la instrucción se cancela, se devuelve un error yno hay filas se eliminan.Cuando una instrucción DELETE encuentra un error aritmético(desbordamiento, división por cero, o un error de dominio) al evaluar unaexpresión, el motor de base de datos se encarga de estos errores como si SETARITHABORT es ON. El resto del lote se cancela, y un mensaje de error sedevuelve.
  10. 10. LIMITACIONES YRESTRICCIONESCuando se utiliza con TOP DELETE, las filas se hace referencia no estándispuestos en cualquier orden y ORDER BY cláusula no se puede especificardirectamente en esta norma. Si usted necesita utilizar TOP para eliminar filasen un orden cronológico significativo, debe utilizarla junto con una cláusulaORDER BY en una instrucción de subselección. Vea la sección de ejemplosque sigue en este tema.TOP no se puede utilizar en una instrucción DELETE en contra de vistas conparticiones.
  11. 11. LA CAPTURA DE LOS RESULTADOSDE LA INSTRUCCIÓN DELETEA. Utilizar DELETE con la cláusula OUTPUTEl siguiente ejemplo muestra cómo guardar los resultados de una instrucciónDELETE para una variable de tabla. USE AdventureWorks2012; GO DELETE Sales.ShoppingCartItem OUTPUT DELETED.* 25 WHERE ShoppingCartID = 20621; --Verify the rows in the table matching the WHERE clause have been deleted. SELECT COUNT(*) AS [Rows in Table] FROM Sales.ShoppingCartItem WHERE ShoppingCartID = 20621; GO
  12. 12. B. Usar OUTPUT con <from_table_name> en una instrucción DELETEEl ejemplo siguiente se eliminan las filas de la tabla ProductProductPhoto sobre labase de criterios de búsqueda definidos en la cláusula FROM de la instrucciónDELETE. La cláusula OUTPUT devuelve columnas de la tabla que se elimina,DELETED.ProductID, DELETED.ProductPhotoID, y las columnas de la tabla Product.Esto se utiliza en la cláusula FROM para especificar las filas que desea eliminar.USE AdventureWorks2012; GODECLARE @MyTableVar table ( ProductID int NOT NULL, ProductNamenvarchar(50)NOT NULL, ProductModelID int NOT NULL, PhotoID intNOT NULL);DELETE Production.ProductProductPhotoOUTPUT DELETED.ProductID, p.Name, p.ProductModelID,DELETED.ProductPhotoIDINTO @MyTableVarFROM Production.ProductProductPhoto AS phJOIN Production.Product as pON ph.ProductID = p.ProductIDWHERE p.ProductModelID BETWEEN 120 and 130;--Display the results of the table variable.SELECT ProductID, ProductName, ProductModelID, PhotoID FROM@MyTableVarORDER BY ProductModelID; GO
  13. 13. FROMEspecifica las tablas, vistas, tablas derivadas y tablas utilizadas en DELETE, SELECT y UPDATE deSQL Server 2012. En la instrucción SELECT, la cláusula FROM es obligatoria excepto cuando la listade selección sólo contiene constantes, variables y expresiones aritméticas (sin nombres decolumna).ObservacionesLa cláusula FROM admite la sintaxis SQL-92-SQL para las tablas combinadas y las tablas derivadas.SQL-92 proporciona la sintaxis INNER, LEFT OUTER, DERECHA EXTERIOR EXTERIOR COMPLETO, YCruz operadores de combinación.UNION y JOIN en la cláusula FROM se apoyan en opiniones y en tablas derivadas ni subconsultas.Una autocombinación es una tabla que se une a sí mismo. Insertar o actualizar las operaciones quese basan en una autocombinación seguir el orden en la cláusula FROM.Dado que SQL Server considera la distribución y las estadísticas de cardinalidad de los servidoresvinculados que proporcionan estadísticas de distribución de columnas, la sugerencia decombinación REMOTE no está obligado a forzar la evaluación de una unión remota. El procesadorde consultas de SQL Server considera estadísticas remotas y determina si una estrategia remotocombinación es adecuada. DISTANCIA sugerencia de combinación es útil para los proveedores queno ofrecen las estadísticas de distribución de columnas.
  14. 14. PERMISOSRequiere los permisos para el DELETE, SELECT o UPDATE.A. Utilizando un simple cláusula FROM 5 Southeast 6 Canadá El ejemplo siguiente recupera el TerritoryID y 7 Francia columnas Nombre de la tabla SalesTerritory 8 Alemania en la base de datos de ejemplo 9 Australia AdventureWorks2012. 10 Reino Unido (10 fila (s) affected) USO AdventureWorks2012; GO SELECT TerritoryID, Nombre DE ORDEN POR Sales.SalesTerritory TerritoryID; Éste es el conjunto de resultados. Nombre TerritoryID ----------------------------------------- 1 Northwest 2 noreste 3 Central 4 sudoeste
  15. 15. HintsLas sugerencias son las opciones o estrategias específicas para la aplicación por elprocesador de consultas de SQL Server en SELECT, INSERT, UPDATE o DELETE. Lassugerencias de anular cualquier plan de ejecución el optimizador de consultas puedeseleccionar para una consulta.Join HintsSugerencias de combinación especifica que el optimizador de consultas deejecución de una estrategia de combinación entre dos tablas.Debido a que el optimizador de consultas de SQL Server suele seleccionar el mejorplan de ejecución para una consulta, se recomienda que las sugerencias,incluyendo <join_hint>, debe utilizarse sólo como último recurso porexperimentados desarrolladores y administradores de bases de datos.
  16. 16. Query HintsLas sugerencias de consulta especifica que las sugerencias indicadas, debeutilizarse la consulta. Afectan a todos los operadores en el comunicado. Si la uniónestá involucrado en la consulta principal, sólo la última consulta que implique unaoperación UNION puede contener la cláusula OPTION. Las sugerencias de consultase especifican como parte de la cláusula OPTION. Si una o varias sugerencias deconsulta que el optimizador de consultas no genere un plan válido de error,8622 se eleva.
  17. 17. RemarksLas sugerencias de consulta no se puede especificar en unasentencia INSERT excepto cuando hay una cláusula SELECT seutiliza dentro de la instrucción.Las sugerencias de consulta sólo se puede especificar en laconsulta de nivel superior, no en subconsultas. Cuando unasugerencia de tabla se especifica como una sugerencia deconsulta, la sugerencia se puede especificar en la consulta denivel superior o en una subconsulta, sin embargo, el valorespecificado para exposed_object_name en la cláusula TABLEHINT debe coincidir exactamente con el nombre expuesto en laconsulta o subconsulta .
  18. 18. Table HintsLas sugerencias de tabla anular el comportamiento predeterminado deloptimizador de consultas para la duración del lenguaje de manipulación de datos(DML) especificando un método de bloqueo, uno o varios índices, una consultade procesamiento de operación, como una exploración de tabla o Index Seek, uotras opciones. Las sugerencias de tabla se especifican en la cláusula FROM de lainstrucción DML y afectan sólo a la tabla o vista hace referencia en dicha cláusula.precauciónDebido a que el optimizador de consultas de SQL Server suele seleccionar elmejor plan de ejecución para una consulta, se recomienda que utilicen lassugerencias sólo como último recurso, por experimentados desarrolladores yadministradores de bases de datos.
  19. 19. ObservacionesLas sugerencias de tabla se ignora si la tabla no se accede por el plan deconsulta. Esto puede ser causado por el optimizador de elección de noacceder a la tabla en absoluto, o porque una vista indizada se accede en sulugar. En este último caso, el acceso a una vista indizada puede evitarsemediante el OPTION (EXPAND VIEWS) sugerencia de consulta.Todas las sugerencias de bloqueo se propagan a todas las tablas y vistas que seaccede por el plan de consulta, incluyendo tablas y vistas referenciadas en unavista. Además, SQL Server realiza las comprobaciones correspondientes debloqueo de consistencia.Bloqueo de pistas ROWLOCK, UPDLOCK Y XLOCK que adquieren nivel de filapuede colocar cerraduras en las claves de índice en lugar de las filas de datosreales. Por ejemplo, si una tabla tiene un índice agrupado, y una instrucciónSELECT que utiliza una sugerencia de bloqueo es manejado por un índice decobertura, un bloqueo se adquiere la clave de índice en el índice de coberturaen lugar de la fila de datos en la tabla base.
  20. 20. Usando NOEXPANDNOEXPAND sólo se aplica a las vistas indizadas. Una vista indizada es unavista con un índice agrupado único creado en él. Si una consulta contienereferencias a columnas que están presentes tanto en una vista indizada ytablas base, y el optimizador de consultas determina que el uso de la vistaindizada proporciona el mejor método para ejecutar la consulta, eloptimizador de consultas utiliza el índice de la vista. Esta función sedenomina coincidencia de vista indizada. Uso automático de vistaindizada por el optimizador de consultas sólo se admite en las edicionesespecíficas de SQL Server. Para obtener una lista de características queson compatibles con las ediciones de SQL Server, vea Característicascompatibles con las ediciones de SQL Server 2012(http://go.microsoft.com/fwlink/?linkid=232473).Sin embargo, para que el optimizador considere las vistas indizadas parala coincidencia, o utilizar una vista indizada que se hace referencia con lasugerencia NOEXPAND, las siguientes opciones SET se debe establecer enON.
  21. 21. 1 está implícitamente ARITHABORT en ON cuando ANSI_WARNINGS estáestablecido en ON. Por lo tanto, usted no tiene que ajustar manualmente estaconfiguración.Además, la opción NUMERIC_ROUNDABORT se debe establecer en OFF.Para forzar al optimizador a usar un índice para una vista indizada, especifique laopción NOEXPAND. Esta receta se puede utilizar sólo si la vista es también elnombre de la consulta. SQL Server no proporciona un indiciopara forzar un punto de vista particular indexado para ser utilizado en unaconsulta que no nombra a la vista directamente en laCláusula FROM, sin embargo, el optimizador de consultas tiene en cuenta el usode vistas indizadas, aunque no se hace referencia directa en la consulta. ANSI_NULLS ANSI_WARNINGS CONCAT_NULL_YIELDS_NULL ANSI_PADDING ARITHABORT1 QUOTED_IDENTIFIERS
  22. 22. Usando una sugerencia de tabla como unasugerencia de consultaLas sugerencias de tabla también se puede especificar como una sugerencia deconsulta mediante el OPTION (TABLE HINT) cláusula. Le recomendamos que utiliceuna sugerencia de tabla como una sugerencia de consulta en el contexto de unaguía de plan. Para consultas ad-hoc, especifique estas sugerencias sólo comosugerencias de tabla. Para obtener más información, vea Sugerencias de consulta(Transact-SQL).PermisosEl KEEPIDENTITY, IGNORE_CONSTRAINTS y sugerencias IGNORE_TRIGGERSrequieren ALTERpermisos en la tabla.
  23. 23. INSERTTipos de datosAl insertar filas, considere el comportamiento tipo de datos siguientes:• Si un valor se carga en columnas con un char, varchar o tipo de datos varbinary, elrelleno o truncamiento de los espacios en blanco finales (espacios para char yvarchar, ceros para varbinary) está determinada por la configuración de SETANSI_PADDING definida para la columna cuando se creó la tabla. Para obtener másinformación, vea SET ANSI_PADDING (Transact-SQL).La tabla siguiente muestra el funcionamiento predeterminado de SETANSI_PADDING OFF.
  24. 24. Data type Default operation Pad valor con espacios para elchar ancho definido de la columna Eliminar espacios finales hasta elvarchar último carácter no-espacio o un carácter de un solo espacio para cadenas compuestas solamente de espacios. varbinary Eliminar los ceros finales.
  25. 25. Si una cadena vacía ("") se carga en una columna con un tipo varchar o texto dedatos, la operación predeterminada es cargar una cadena de longitud cero.• La inserción de un valor nulo en una columna de texto o la imagen no se creaun puntero de texto válido, ni asignar previamente una página de texto de 8 KB.• Las columnas creadas con el tipo de datos uniqueidentifier tienda con formatoespecial de 16 bytes valores binarios. A diferencia de las columnas deidentidad, el motor de base de datos no genera automáticamente valores decolumnas con el tipo de datos uniqueidentifier. Durante una operación deinserción, las variables con un tipo de datos uniqueidentifier y constantes decadena con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (36caracteres, incluyendo guiones, donde x es un dígito hexadecimal en el rango de0-9 o af) puede ser para las columnas uniqueidentifier. Por ejemplo, 6F9619FF-8B86-D011-B42D-00C04FC964FF es un valor válido para una variable o columnauniqueidentifier. Utilice la función NEWID () para obtener un identificador únicoglobal (GUID).
  26. 26. Control de erroresPuede implementar el manejo de errores para la instrucción INSERT especificando ladeclaración en unConstrucción TRY ... CATCH.Si una sentencia INSERT infringe una restricción o regla, o si tiene un valor incompatible con eltipo de datos de la columna, el comando falla y aparece un mensaje de error se devuelve.Si está cargando INSERT de varias filas con SELECT o EXECUTE, toda violación de una regla orestricción que se produce a partir de los valores que se cargan provoca que la instrucción sedetuvo y no se carguen filas.Cuando una sentencia INSERT encuentra un error aritmético (desbordamiento, división porcero, o un error de dominio) al evaluar una expresión, el motor de base de datos se encargade estos errores como siSET ARITHABORT se establece en ON. La carga se detiene y aparece un mensaje de error sedevuelve. duranteevaluar una expresión con SET ARITHABORT y SET ANSI_WARNINGS es OFF, si una instrucciónINSERT, DELETE o UPDATE encuentra un error aritmético, desbordamiento, división por cero,o un error de dominio, SQL Server inserta o actualiza un valor NULL. Si la columna de destinono es anulable, la acción de inserción o actualización falla y el usuario recibe un error.
  27. 27. MERGERealiza inserción, actualización o eliminación en una tabla de destino enfunción de los resultados de una combinación con una tabla de origen. Porejemplo, puede sincronizar dos tablas mediante la inserción, actualización oeliminación de las filas de una tabla basada en las diferencias que seencuentran en la otra tabla.PermisosRequiere el permiso SELECT en la tabla de origen y INSERT, UPDATE o DELETEsobre la tabla de destino. Para obtener información adicional, consulte lasección Permisos en el SELECT, INSERT, UPDATE y DELETE temas.
  28. 28. Utilice la sugerencia de tabla READPAST enUPDATE y DELETE si el escenario permite quevarias aplicaciones realicen una lecturadestructiva de una tabla. Esta evita problemasde bloqueo que pueden surgir si otra aplicaciónya está leyendo la primera clasificación registrode la tabla.
  29. 29. EjemplosA. Usar OUTPUT INTO con una instrucción INSERT simpleEl ejemplo siguiente inserta una fila en la tablaScrapReason y utiliza la cláusula OUTPUT para devolver losresultados de la instrucción para la variableMyTableVartable @. Debido a que la columnaScrapReasonID se define con una propiedad IDENTITY, unvalor no está especificado en la instrucción INSERT paraesa columna. Sin embargo, tenga en cuenta que el valorgenerado por el motor de base de datos para esa columnase devuelve en la cláusula OUTPUT en la columna IDinserted.ScrapReason.
  30. 30. USE AdventureWorks2012;GODECLARE @MyTableVar table( NewScrapReasonID smallint,Name varchar(50),ModifiedDate datetime);INSERT Production.ScrapReasonOUTPUTINSERTED.ScrapReasonID, INSERTED.Name, INSERTED.ModifiedDateINTO @MyTableVarVALUES (NOperator error, GETDATE());--Display the result set of the table variable.SELECT NewScrapReasonID, Name, ModifiedDate FROM@MyTableVar;--Display the result set of the table.SELECT ScrapReasonID, Name, ModifiedDateFROM Production.ScrapReason;GO.
  31. 31. OUTPUT Clause• Devuelve información de, o expresiones basadas en, cada fila afectada por una instrucción INSERT, UPDATE, DELETE o MERGE. Estos resultados pueden ser devueltos a la aplicación de procesamiento para su uso en cosas tales como mensajes de confirmación, archivos, y otros requisitos de aplicación tales. Los resultados también se puede insertar en una tabla o una variable de tabla. Además, puede capturar los resultados de una cláusula OUTPUT en una instrucción anidada INSERT, UPDATE, DELETE o MERGE, e insertar los resultados en una tabla o vista de destino.
  32. 32. • Tipos de datos La cláusula OUTPUT admite los tipos de datos de objetos grandes: nvarchar (max), varchar (max), varbinary (max), text, ntext, image, xml y. Cuando se utiliza el. WRITE en la instrucción UPDATE para modificar un nvarchar (max), varchar (max) o varbinary (max), el total antes y después de las imágenes de los valores se devuelven si se hace referencia. El TEXTPTR () no puede aparecer como parte de una expresión en un texto, ntext o columna de imagen en la salida
  33. 33. SELECT• Recupera filas de la base de datos y permite la selección de una o varias filas o columnas de una o varias tablas en SQL Server 2012. La sintaxis completa de la instrucción SELECT es compleja, pero las cláusulas principales se pueden resumir en: [CON <common_table_expression>] SELECT select_list [INTOnew_table] [FROMtable_source] [WHEREsearch_condition] [GROUP BY group_by_expression] [HAVINGsearch_condition] [ORDER BY order_expression [ASC | DESC]] La UNION, EXCEPT e INTERSECT se pueden utilizar entre consultas para combinar o comparar sus resultados en un conjunto de resultados.
  34. 34. PermisosSelección de datos requiere el permiso SELECT en la tablao vista, lo que podría ser heredado de un ámbito superiorcomo el permiso SELECT en el esquema o permisoCONTROL en la tabla. ¿O es necesario pertenecer a ladb_datareader o roles db_owner fija de base de datos, o elrol fijo de servidor sysadmin. Creación de una nueva tablacon SELECTINTO también requiere el permiso CreateTable,y el permiso ALTERSCHEMA en el esquema al quepertenece la nueva tabla.
  35. 35. Group By• Agrupa un conjunto seleccionado de filas en un conjunto de filas de resumen de los valores de una o más columnas o expresiones en SQL Server 2012. Se devuelve una fila para cada grupo. Las funciones de agregado en la cláusula SELECT lista SELECT proporcionar información acerca de cada grupo en lugar de filas individuales. La cláusula GROUP BY tiene una sintaxis compatible con ISO y una sintaxis no ISO-compliant. Sólo un estilo de sintaxis puede utilizarse en una sola instrucción SELECT. Utilice la sintaxis compatible con ISO para toda nueva obra. La sintaxis no compatible con ISO se proporciona por compatibilidad con versiones anteriores. En este tema, una cláusula GROUP BY se puede describir como general o simple:
  36. 36. Una cláusula GROUP BY general incluye GROUPING SETS,CUBE, ROLLUP, CUBE CON oWITH ROLLUP.Un simple GROUP BY no incluye GROUPING SETS, CUBE,ROLLUP, CUBE CON O CON ROLLUP. GROUP BY (), totalgeneral, se considera un simple GROUP BY.
  37. 37. HAVINGEspecifica una condición de búsqueda para un grupo o unagregado. HABIENDO sólo se puede utilizar con la instrucciónSELECT. HABIENDO se suele utilizar en una cláusula GROUP BY.Cuando GROUP BY no se utiliza, HABIENDO se comporta comouna cláusula WHERE.
  38. 38. INTO Clause• SELECT ... INTO crea una nueva tabla en el grupo de archivos predeterminado e inserta las filas resultantes de la consulta en el mismo. Para ver la sintaxis completa SELECT, vea SELECT (Transact-SQL). Permisos Requiere el permiso CREATE TABLE en la base de datos de destino.
  39. 39. ORDER BY ClauseOrdena los datos devueltos por una consulta en SQLServer 2012. Utilice esta cláusula para:• Ordenar el conjunto de resultados de una consulta de lalista de columnas especificado y, opcionalmente, limitarlas filas devueltas a un rango especificado. El orden enque se devuelven filas en un conjunto de resultados noestán garantizados a menos que una cláusula ORDER BY seespecifica.• Determinar el orden en el que los valores de rango defunción se aplica al conjunto de resultados.
  40. 40. InteroperabilidadCuando se utiliza con un SELECT ... INTO para insertar filasde otra fuente, el ORDER BYcláusula no garantiza que las filas se inserten en el ordenespecificado.Usando OFFSET y FETCH en una vista no cambia lapropiedad Updateability de la vista.
  41. 41. Limitaciones y restriccionesNo hay límite al número de columnas de la cláusula ORDER BY, sinembargo, el tamaño total de las columnas especificadas en una cláusulaORDER BY no puede superar los 8.060 bytes.Las columnas de tipo ntext, text, image, geografía, geometría y xml no sepueden utilizar en unCláusula ORDER BY.Un entero o una constante no se puede especificar cuandoorder_by_expression aparece en una función de categoría. Para obtenermás información, vea OVER (cláusula de Transact-SQL).Si el nombre de la tabla tiene un alias en la cláusula FROM, sólo el nombrede alias se puede utilizar para calificar a sus columnas de la cláusulaORDER BY.
  42. 42. Los nombres de columnas y alias especificados en la cláusula ORDER BY sedebe definir en la lista de selección si la instrucción SELECT contiene una de lassiguientes cláusulas u operadores:• UNIÓN operador• EXCEPT• INTERSECT operador• SELECT DISTINCTAdemás, cuando la declaración incluye un operador UNION, EXCEPT oINTERSECT operador, los nombres de columna o alias de columna se debeespecificar en la lista de selección de la primera (izquierda) de la consulta.En una consulta que use UNION, EXCEPT o INTERSECT, ORDER BY se permitesólo al final de la declaración. Esta restricción se aplica sólo a cuando seespecifica UNION, EXCEPT e INTERSECT en una consulta de nivel superior y noen una subconsulta. Véase la sección de ejemplos que sigue.La cláusula ORDER BY no es válida en vistas, funciones insertadas, tablasderivadas ni subconsultas, a menos que la parte superior o cláusulas OFFSET yFETCH también se especifican. Cuando ORDER BY esutilizada en estos objetos, la cláusula sólo se utiliza para determinar las filasdevueltas por la cláusula TOP
  43. 43. O OFFSET y FETCH cláusulas. La cláusula ORDER BY nogarantiza resultados ordenados cuando estasconstrucciones se consultan, a menos ORDER BY también seespecifica en la propia consulta.OFFSET y FETCH no son compatibles con las vistas indizadaso en una vista que se define mediante la VER cláusulaOPTION.
  44. 44. OVER ClauseDetermina la partición y el ordenamiento de un conjuntode filas antes de la función de ventana asociado se aplica.Es decir, la cláusula OVER define una ventana oespecificado por el usuario conjunto de filas dentro de unconjunto de resultados de consulta. Una función deventana se calcula un valor para cada fila de la ventana.Puede utilizar la cláusula OVER con funciones para calcularvalores agregados tales como medias móviles, agregadosacumulativos, totales acumulados, o un grupo de losmejores resultados por N.
  45. 45. Limitaciones y restriccionesLa cláusula OVER no se puede utilizar con la función de agregadoCHECKSUM.RANGO no se puede utilizar con specification> <unsigned valoranterior o siguiente <unsigned valor specification>.Dependiendo de la función de categoría, agregar, o analíticoutilizar con la cláusula OVER, <Order POR clause> y / o los<ROWS y clause> rango no puede ser apoyada.
  46. 46. Table Value ConstructorEspecifica un conjunto de expresiones de valor defila para ser construidos en una tabla. El constructorde tabla de Transact-SQL valor permite que variasfilas de datos que se especifica en una instrucciónDML único. El constructor con valores de tabla puedeser especificado en la cláusula VALUES de lainstrucción INSERT, en la cláusula <tabla origen> USOde la instrucción MERGE, y en la definición de unatabla derivada en la cláusula FROM.
  47. 47. TOP• Limita las filas devueltas en un resultado de consulta establecido en un número especificado de filas o porcentaje de filas en SQL Server 2012. Cuando TOP se utiliza en conjunción con la cláusula ORDER BY, el conjunto de resultados se limita a la primera número N de filas ordenadas, de lo contrario, se devuelve el primer número N de filas aleatorias. Utilice esta cláusula para especificar el número de filas devueltas por una instrucción SELECT o afectadas por una instrucción INSERT, UPDATE, MERGE o DELETE.
  48. 48. con la AsistenciaPara la compatibilidad con versiones anteriores, losparéntesis son opcionales en instrucciones SELECT. Lerecomendamos que utilice siempre paréntesis para TOPen sentencias SELECT para mantener la coherencia con suuso requerido en las instruccionesINSERT, UPDATE, MERGE y DELETE en la que los paréntesisson necesarios.
  49. 49. Limitaciones y restriccionesCuando se utiliza con TOP INSERT, UPDATE, MERGE o DELETE, las filasse hace referencia no están dispuestos en cualquier orden y ORDER BYcláusula no se puede especificar directamente en estas declaraciones.Si usted necesita utilizar TOP para insertar, eliminar o modificar lasfilas en un orden cronológico significativo, debe utilizarla junto con unacláusula ORDER BY que se especifica en una instrucción desubselección. Vea la sección de ejemplos que sigue en este tema.TOP no se puede utilizar en una instrucción UPDATE y DELETE en vistascon particiones.TOP no se puede combinar con OFFSET y FETCH en la misma expresiónde consulta (en el ámbito de la consulta misma). Para obtener másinformación, vea ORDER BY (cláusula de Transact-SQL).
  50. 50. UPDATELos cambios de datos existentes en una tabla o vista de SQLServer 2012. Para ejemplos, vea Ejemplos.
  51. 51. Con la AsistenciaSoporte para el uso de los NOLOCKREADUNCOMMITTED y en la cláusula FROM que seaplican a la tabla de destino de una instrucción UPDATEo DELETE se quitará en una versión futura de SQLServer. Evite el uso de estos consejos en este contextoen nuevos trabajos de desarrollo y piense en modificarlas aplicaciones que actualmente la utilizan.
  52. 52. Tipos de datosTodas las columnas char y nchar se haga con relleno a la longitud definida.Si ANSI_PADDING se establece en OFF, todos los espacios finales se eliminande los datos insertados en las columnas varchar y nvarchar, excepto encadenas que contienen sólo espacios. Estas cadenas se truncan a una cadenavacía. Si ANSI_PADDING se establece en ON, los espacios finales se insertan.El SQL MicrosoftServidor controlador ODBC y el proveedor OLE DB para SQL Serverestablecen automáticamente ANSI_PADDING ENpara cada conexión. Esto se puede configurar en orígenes de datos ODBC omediante atributos o propiedades de conexión. Para obtener másinformación, vea SET ANSI_PADDING (Transact-SQL).
  53. 53. La captura de los resultados de la instrucciónUPDATELos ejemplos de esta sección muestran cómo utilizar la cláusulaOUTPUT para devolver información de, o expresiones basadas encada fila afectada por una instrucción UPDATE. Estos resultadospueden ser devueltos a la aplicación de procesamiento para su usoen cosas tales como mensajes de confirmación, archivos, y otrosrequisitos de aplicación tales.
  54. 54. UPDATETEXTActualiza un texto existente, ntext o campo de imagen. UtiliceUPDATETEXT para cambiar sólo una parte de un texto, ntext ocolumna de imagen en su lugar. Utilice WRITETEXT paraactualizar y reemplazar un texto, ntext o campo de imagen.PermisosRequiere el permiso UPDATE en la tabla especificada.
  55. 55. WHERE• Especifica la condición de búsqueda de las filas devueltas por la consulta.
  56. 56. WITHcommon_table_expression• Especifica un conjunto con nombre temporal resultado, conocido como una expresión de tabla común (CTE). Esto se deriva de una consulta simple y se define en el ámbito de ejecución de una sola instrucción SELECT, INSERT, UPDATE o DELETE. Esta cláusula también se puede utilizar en una instrucción CREATE VIEW, como parte de su instrucción SELECT que define. Una expresión de tabla común pueden incluir referencias a sí mismo. Esto se conoce como una expresión de tabla común recursiva
  57. 57. WRITETEXT• Permite el registro mínimo, la actualización interactiva de un texto existente, ntext o columna de imagen. WRITETEXT sobrescribe los datos existentes en la columna afectada. WRITETEXT no se puede utilizar en las columnas text, ntext e image en las vistas.• Permisos Requiere el permiso UPDATE en la tabla especificada. El permiso es transferible cuando ACTUALIZAR permiso se transfiere.
  58. 58. Transact-SQL SyntaxConventions• En la tabla siguiente se enumeran y describen las convenciones que se utilizan en los diagramas de sintaxis en la Transact-SQL Reference.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×