Universidad Veracruzana SISTEMAS COMPUTACIONALES ADMINISTRATIVOS                Bases de Datos                            ...
INTRODUCCIÓN.El lenguaje de manipulación de datos (DML) es unvocabulario que se utiliza para recuperar y trabajarcon datos...
CONTENIDO•   Lenguaje de manipulación de datos (DML)•   GRANEL•   DELETE•   FROM•   Sugerencias de combinación, consulta y...
Lenguaje de manipulación de   datos (DML) DeclaracionesLenguaje de manipulación de datos (DML) es unvocabulario que se uti...
En la tabla siguiente se enumeran lascláusulas que se utilizan en variassentencias DML o cláusulas.      Clause           ...
BULK INSERTImporta un archivo de datos en una tabla o vista debase de datos en un formato especificado por elusuario.
sintaxis[Database name. [Schema name]. | Schema name. ] [table name | view name]FROM data file[WITH ([[,] BATCHSIZE =batch...
ARGUMENTOSdatabase_nameEs el nombre de base de datos en la que la tabla ovista especificada reside. Si no se especifica, e...
table_nameEs el nombre de la tabla o vista a la importaciónmasiva de datos en sólo los puntos de vista en el quetodas las ...
CHECK_CONSTRAINTSEspecifica que todas las restricciones de la tabla ovista de destino deben comprobarse durante laoperació...
BULK INSERT aplica estrictos controles de validaciónde datos y los datos de lectura de datos desde unarchivo que podría ca...
Tipos de datos para granel Exportación o importaciónde documentos XML de SQL para la exportación agranel o importación de ...
EJEMPLOSUtilizar tubos para importar datos desde un archivo. Elejemplo siguiente orden importaciones detalle lainformación...
REMARKS.Las sugerencias de la tabla se ignora si no se accede a la tabla por el plan deconsulta. Esto puede ser causado po...
Si una tabla contiene columnas calculadas que se calculan por las expresioneso funciones de acceso columnas de otras tabla...
INSERT.Añade una o más filas en una tabla o una vista en SQL Server 2012.WITH <common_table_expression>Especifica el conju...
nombre_servidor.Es el nombre del servidor vinculado en el que la tabla o vista eslocated.server_name puede especificar com...
WITH (<table_hint_limited> [... n])Especifica una o más sugerencias de tabla permitidas para una tabla dedestino. La palab...
Mejores prácticas para la importación masiva de datos.Usted puede utilizar INSERT INTO SELECT FROM <target_table><columnas...
DATA TYPES.Data type   Default operationChar        Valor con espacios para el ancho definido de            columna.Varcha...
MERGERealiza operaciones de inserción, actualización o eliminación en una tablade destino basado en los resultados de una ...
Si hay dos cláusulas cuando coinciden, entonces se debe especificaruna acción UPDATE y hay que especificar una acción DELE...
Usar MERGE para realizar operaciones INSERT y UPDATE en un objetivotabla utilizando una tabla de origen deriva. Los usos e...
• On• En este ejemplo se elimina una fila de una tabla que se utiliza  como cola y devuelve los valores eliminados al  pro...
USE tempdb;                         PRINT @MyTableVar, after deleteGO                                  SELECT * FROM @MyTa...
• Utilice la sugerencia de tabla READPAST en  UPDATE y DELETE si el escenario permite que  varias aplicaciones realicen un...
• Ejemplos• A. Usar OUTPUT INTO con una instrucción INSERT  simple  El ejemplo siguiente inserta una fila en la tabla  Scr...
•   USE AdventureWorks2012;•   GO•   DECLARE @MyTableVar table( NewScrapReasonID smallint,•   Name varchar(50),•   Modifie...
• LEA EL TEXTO  Leer texto, texto, o valores de la imagen de un  texto, ntext o columna de imagen, a partir de una.  Despl...
• Syntax    READTEXT { table.column text_ptr offset size } [ HOLDLOCK ]    Argumentos•   table.column    Es el nombre de u...
Select•   Recupera filas de la base de datos y permite la selección de una o    varias filas o columnas de una o varias ta...
Los pasos siguientes muestran el orden de    procesamiento lógico, o orden de enlace, para    una sentencia SELECT.•   1. ...
Group ByAgrupa un conjunto seleccionado de filas en unconjunto de filas de resumen por los valores de unao más columnas o ...
En este tema, una cláusula GROUP BY sepuede describir como general o simple:• Una cláusula GROUP BY general incluyeGROUPIN...
• Limitaciones sintaxis  GROUPING SETS no están permitidos en la cláusula GROUP BY  a menos que sean parte de una lista GR...
HAVINGEspecifica una condición de búsqueda para un grupo oun agregado. HAVING sólo se puede utilizar con laLa sentencia SE...
CLÁUSULA INTOSELECT ... INTO crea una nueva tabla en el grupo dearchivos predeterminado e inserta las filas resultantes de...
NEW_TABLEEspecifica el nombre de una tabla que se debe crearsobre la base de las columnas de la lista de selección ylas fi...
LA CLÁUSULA ORDER BYOrdena los datos devueltos por una consulta en SQLServer 2012. Utilice esta cláusula para:• Pida el co...
SINTAXISORDER BY order_by_expression[COLLATE][ASCArgumentos| DESC][, ... N][<offset_fetch>]<offset_fetch> :: ={OFFSET {int...
OVER CLÁUSULADetermina la partición y el ordenamiento de unconjunto de filas antes de la función de ventanaasociado esapli...
TABLA DE VALOR CONSTRUCTOR  Especifica un conjunto de expresiones de valor de fila para ser construidos en una tabla. La t...
SYNTAXVALUES ( <row value expression list>) [ ,...n ]<row value expression list> ::={<row value expression> } [ ,...n ]<ro...
TOP    Limita las filas devueltas en un resultado de consulta      establecido en un número especificado de filas o       ...
UPDATECambiar datos existentes en una tabla o vistas en las           consultas de sql server 2012
Para remplazar o modificar bloques grandes de texto,ntext o datos de imagen, utilice WRITETEXT oUPDATETEXT lugar de la ins...
• Suministrar un valor en un sistema de SQL Server de tipo de datos,  siempre y cuando el tipo definido por el usuario adm...
Control de erroresSi una actualización de una fila infringe una restricción onorma, viola el ajuste NULL para la columna, ...
Comportamiento• Bloqueo de comportamiento: Una instrucción UPDATE siempre adquiere un exclusivo (X) sobre la tabla que se ...
SeguridadPermisos de actualización son necesarios en la tabla dedestino. Permisos SELECT también son necesariospara la tab...
Sintaxis básicaLos ejemplos de esta sección muestran lafuncionalidad básica de la instrucción UPDATEutilizando el sintaxis...
Actualiza un texto existente, ntext o campo de imagen. UtiliceUPDATETEXT para cambiar sólo una parte de un text, ntext oim...
sintaxisUPDATETEXT [BULK] { table_name.dest_column_name dest_text_ptr }{ NULL | insert_offset }{ NULL | delete_length }[ W...
Especifica la condición de búsqueda de las filas devueltaspor la consulta.Syntax[ WHERE <search_condition> ] Argumentos<se...
Define las condiciones que deben cumplirse para las filasque se devuelven. No hay límite para la número depredicados que s...
Especifica un conjunto con nombre temporal resultado,conocido como una expresión de tabla común (CTE). Esderivado de una c...
Syntax[ WITH <common_table_expression> [ ,...n ] ]<common_table_expression>::=expression_name [ (column_name [ ,...n ] ) ]...
Permite el registro mínimo, la actualización interactiva deun texto existente, ntext o columna de imagen.WRITETEXT sobresc...
Upcoming SlideShare
Loading in...5
×

Sql server express edition 2012 libro

4,743

Published on

1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
4,743
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
222
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Sql server express edition 2012 libro

  1. 1. Universidad Veracruzana SISTEMAS COMPUTACIONALES ADMINISTRATIVOS Bases de Datos . Integrantes: Badillo León José Alberto Gerardo García Ochoa Daniel García Uscanga Osmar Zaragoza Martínez Fernández Hernández José Luis
  2. 2. INTRODUCCIÓN.El lenguaje de manipulación de datos (DML) es unvocabulario que se utiliza para recuperar y trabajarcon datos en SQL Server 2012. Utilice estasinstrucciones para agregar, modificar, consultar oeliminar datos de una base de datos SQL Server.
  3. 3. CONTENIDO• Lenguaje de manipulación de datos (DML)• GRANEL• DELETE• FROM• Sugerencias de combinación, consulta y de tabla• INSERT• MERGE• OPCIÓN Cláusula, SALIDA Cláusula• READTEXT• Condiciones de búsqueda• SELECT• Cláusula SELECT, Ejemplos SELECT• Cláusula FOR• GROUP BY• HAVING• Cláusula INTO• La cláusula ORDER BY• SOBRE Cláusula• Tabla Constructor Valor• TOP• ACTUALIZACIÓN• UPDATETEXT• WHERE• CON common table expression• WRITETEXT• Transact-SQL Convenciones de sintaxis
  4. 4. Lenguaje de manipulación de datos (DML) DeclaracionesLenguaje de manipulación de datos (DML) es unvocabulario que se utiliza para recuperar y trabajarcon datos en SQL Server 2012. Utilice estasinstrucciones para agregar, modificar, consultar oeliminar los datos de un servidor SQL base de datosen esta sección. SELECT (Transact-SQL) BULK INSERT (Transact-SQL) DELETE (Transact-SQL) UPDATE (Transact-SQL) INSERT (Transact-SQL) UPDATETEXT (Transact-SQL) MERGE (Transact-SQL) WRITETEXT (Transact-SQL) READTEXT (Transact-SQL)
  5. 5. En la tabla siguiente se enumeran lascláusulas que se utilizan en variassentencias DML 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 (Transact- DELETE, INSERT, MERGE, SELECT, SQL) UPDATE
  6. 6. BULK INSERTImporta un archivo de datos en una tabla o vista debase de datos en un formato especificado por elusuario.
  7. 7. sintaxis[Database name. [Schema name]. | Schema name. ] [table name | view name]FROM data file[WITH ([[,] BATCHSIZE =batch size][ [, ] CHECK_CONSTRAINTS ][ [ , ] CODEPAGE = { ACP | OEM | RAW | code page } ][ [ , ] DATAFILETYPE ={‘char’ | native| wide char | wide native’} ][ [ , ] FIELDTERMINATOR = field terminator ][ [ , ] FIRSTROW = first row ][ [ , ] FIRE_TRIGGERS ][ [ , ] FORMATFILE =format_file_path ][ [ , ] KEEPIDENTITY ][ [ , ] KEEPNULLS ][ [ , ] KILOBYTES_PER_BATCH =kilobytes_per_batch ][ [ ,] LASTROW =last row ][ [ , ] MAXERRORS =max_errors ][ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ][ [ , ] ROWS_PER_BATCH =rows_per_batch ][ [ , ] ROWTERMINATOR =row terminator ][ [ , ] TABLOCK ][ [ , ] ERRORFILE =filename ])]
  8. 8. ARGUMENTOSdatabase_nameEs el nombre de base de datos en la que la tabla ovista especificada reside. Si no se especifica, es labase de datos actual.schema_nameEs el nombre de la tabla o vista es opcionalschema.schema_name si el esquemapredeterminado para el usuario que realiza laoperación de importación masiva es el esquema dela tabla o ver.
  9. 9. table_nameEs el nombre de la tabla o vista a la importaciónmasiva de datos en sólo los puntos de vista en el quetodas las columnas se refieren a la misma tabla basepueden ser utilizados.Data_fileEs la ruta completa del archivo de datos quecontiene los datos a importar a la tabla especificadao ver.BATCHSIZE = batch_sizeEspecifica el número de filas de un lote.
  10. 10. CHECK_CONSTRAINTSEspecifica que todas las restricciones de la tabla ovista de destino deben comprobarse durante laoperación de importación masiva. DATAFILETYPE value All data represented in: char (default) Carácter de formato. Para obtener más información, consulte Uso de caracteres Formato para importar o exportar datos. Native Nativos (base de datos) los tipos de datos. Cree los datos de archivo nativo de importación masiva de datos de SQL Server con la utilidad bcp. El valor nativo ofrece un rendimiento superior alternativa al valor char. Para obtener más información, consulte Uso de Native. Formato para importar o exportar datos. widechar Caracteres Unicode. Para obtener más información, consulte Uso de Unicode. Carácter de formato para importar o exportar datos. widenative Nativos (base de datos) los tipos de datos, excepto en char, varchar y columnas de texto, en el que hay datos almacenan como Unicode. Cree el widenative archivo de datos de importación masiva de datos desde SQL Servidor mediante la utilidad bcp. El valor widenative ofrece un mayor desempeño alternativo a widechar. Si el archivo de datos contiene caracteres extendidos ANSI, especificar widenative. Para obtener más información, consulte Uso de Unicode. Formato nativo para importar o exportar datos.
  11. 11. BULK INSERT aplica estrictos controles de validaciónde datos y los datos de lectura de datos desde unarchivo que podría causar scripts existentes a fallarcuando se ejecutan en datos no válidos. Por ejemplo,BULK INSERT verifica que:• Las representaciones nativas de flotador o tipos dedatos reales son válidos.• Los datos Unicode tienen una longitud de un byte.
  12. 12. Tipos de datos para granel Exportación o importaciónde documentos XML de SQL para la exportación agranel o importación de datos XML de SQL, utiliceuno de los siguientes tipos de datos en el archivo deformato: tipo de datos Efecto SQLCHAR o VARCHAR de SQL Los datos se envían en la página de código de cliente o en la página de códigos implícitos en el cotejo). El efecto es el mismo que si se especifica la DATAFILETYPE = char sin especificar un formato de archivo. Los datos se envían como Unicode. El efecto es el equivale a especificar la SQLNCHAR o SQLNVARCHAR DATAFILETYPE = widechar "sin especificar un archivo de formato. Los datos se envían sin ninguna SQLBINARY o SQLVARYBIN conversión.
  13. 13. EJEMPLOSUtilizar tubos para importar datos desde un archivo. Elejemplo siguiente orden importaciones detalle lainformación en elAdventureWorks.Sales.SalesOrderDetail tabla delarchivo de datos especificado utilizando una barravertical (|) como el terminador de campo y | ncomo terminador de fila.AdventureWorks.Sales.SalesOrderDetail BULK INSERT DELA "F: órdenes lineitem.tbl WITH (FIELDTERMINATOR = |, ROWTERMINATOR = | n)
  14. 14. REMARKS.Las sugerencias de la tabla se ignora si no se accede a la tabla por el plan deconsulta. Esto puede ser causado por AWQ el optimizador que optara por noacceder a la tabla en absoluto, o porque una vista indizada ha accedido en sulugar. En este último caso, el acceso a una vista indizada puede evitarsemediante la opción (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 correspondientes pruebas deconsistencia de bloqueos.Bloqueo de pistas ROWLOCK, UPDLOCK Y XLOCK que adquieren nivel de filapuede colocar candados en claves de índice en lugar de las filas de datos reales.
  15. 15. Si una tabla contiene columnas calculadas que se calculan por las expresioneso funciones de acceso columnas de otras tablas, las sugerencias de tabla nose utilizan en las tablas y no se propagan.SQL Server no permite la sugerencia de tabla más de una de cada uno de lossiguientes grupos de cada tabla en la cláusula FROM: Granularity hints: PAGLOCK NOLOCK, READCOMMITTEDLOCK, ROWLOCK, TABLOCK, o TABLOCKX. Isolation level hints: HOLDLOCK, NOLOCK, READCOMMITTED, REPEATABLEREAD, SERIALIZABLE.Un índice filtrado se puede utilizar como una sugerencia de tabla, pero haráque el optimizador de consulta genere el error 8622 si no se cubren todaslas filas que la consulta ha seleccionado.
  16. 16. INSERT.Añade una o más filas en una tabla o una vista en SQL Server 2012.WITH <common_table_expression>Especifica el conjunto con nombre temporal resultado, conocido también comoexpresión de tabla común, define en el ámbito de la instrucción INSERT. Elconjunto de resultados se deriva de una sentencia SELECT.TOP (expression) [PERCENT].Especifica el número o porcentaje de filas aleatorias que se insertarán. Expresiónque puede ser un número o un porcentaje de las filas.INTO.Es una palabra clave opcional que se puede usar entre INSERT y la tabla dedestino.
  17. 17. nombre_servidor.Es el nombre del servidor vinculado en el que la tabla o vista eslocated.server_name puede especificar como un nombre de servidor vinculado, omediante el uso de la función OPENDATASOURCE.database_nameEs el nombre de la base de datos.schema_nameEs el nombre del esquema al que pertenece la tabla o vista pertenece.table_orview_nameEs el nombre de la tabla o vista que va a recibir los datos. Una variable de tabla,dentro de su ámbito de aplicación, se puede utilizar como origen de tabla en unainstrucción INSERT comunicado. La vista hace referencia table_or_view_namedebe ser actualizable y hacer referencia exactamente una base de la tabla en lacláusula FROM de la vista.rowset_function_limitedEs o bien la función OPENQUERY u OPENROWSET. El uso de estas funcioneses sujeto a las capacidades del proveedor OLE DB que tiene acceso al objetoremoto.
  18. 18. WITH (<table_hint_limited> [... n])Especifica una o más sugerencias de tabla permitidas para una tabla dedestino. La palabra clave WITH y los paréntesis son necesarios.WHERE <search_condition>Hay alguna cláusula WHERE que contiene una <search_condition> válidoque filtra las filas devuelto por <dml_statement_with_output_clause>.Cuando se usa en este contexto, no puede <search_condition> contenersubconsultas, funciones escalares definidas por el usuario que realizaacceso a los datos agregados, funciones, TEXTPTR o predicados detexto completo de búsqueda.FIRE_TRIGGERSEspecifica que los desencadenadores de inserción definidos en la tablade destino durante la ejecución binario flujo de datos de operación decarga.
  19. 19. Mejores prácticas para la importación masiva de datos.Usted puede utilizar INSERT INTO SELECT FROM <target_table><columnas> <source_table> para transferir eficientemente un gran númerode filas de una tabla, tal como una tabla de etapas, a otro tabla con registromínimo.El registro mínimo puede mejorar el rendimiento de la instrucción y reducirla posibilidad de la operación de llenado del espacio de registro detransacciones disponible durante el transacción.El registro mínimo para esta afirmación tiene los siguientes requisitos: El modelo de recuperación de la base de datos se establece en simple o masivo que ha iniciado sesión. La tabla de destino es un montón vacío o no vacío. La tabla de destino no se utiliza en la replicación. La sugerencia TABLOCK está especificada para la tabla de destino.
  20. 20. DATA TYPES.Data type Default operationChar Valor con espacios para el ancho definido de columna.Varchar Eliminar espacios finales hasta el último no- espacio personaje o a un carácter de un solo espacio para cadenas compuestas solamente de espacios.Varbinary Elimina los ceros finales.
  21. 21. MERGERealiza operaciones de inserción, actualización o eliminación en una tablade destino basado en los resultados de una combinación de una tabla deorigen.Por ejemplo, puede sincronizar dos tablas mediante la inserción,actualización o eliminación de las filas de una tabla basada en lasdiferencias que se encuentran en la otra tabla.La instrucción MERGE puede tener como máximo dos cláusulas cuando haycoincidencia. Si dos cláusulas se especifican, a continuación, la primeracláusula debe ir acompañada de una Y <search_condition> cláusula. Paracualquier fila, la segunda cláusula WHEN es MATCHED sólo se aplica si elprimero no lo es.
  22. 22. Si hay dos cláusulas cuando coinciden, entonces se debe especificaruna acción UPDATE y hay que especificar una acción DELETE. Si laactualización es especificada en la cláusula <merge_matched>, y másde una fila de <table_source> coincide con una fila de target_tablebasado en <merge_search_condition>, SQL Server devuelve un error.La instrucción MERGE no puede actualizar la misma fila más de unavez, o actualizar y borrar la misma fila.MERGE está disponible tanto en 90 y 100 niveles de compatibilidad debase de datos, sin embargo la palabra clave no está completamentereservado cuando el nivel de compatibilidad de base de datos estáestablecido en 90.
  23. 23. Usar MERGE para realizar operaciones INSERT y UPDATE en un objetivotabla utilizando una tabla de origen deriva. Los usos en el siguienteejemplo MERGE para modificar la tabla SalesReason ya sea por laactualización o insertar filas.Cuando el valor de NewName en la tabla de origen coincide con un valor enla columna Nombre de la tabla de destino, (SalesReason), la columnaReasonType se actualiza en la tabla de destino. Cuando el valor deNewName no coincide, la fila de origen se inserta en la tabla de destino.La tabla de origen es una tabla derivada que usa el constructor de tablade Transact-SQL para especificar varias filas para la tabla de origen.
  24. 24. • On• En este ejemplo se elimina una fila de una tabla que se utiliza como cola y devuelve los valores eliminados al procesamiento de las aplicaciones en una sola acción. Semántica otros también pueden ser aplicados, tales como utilizar una tabla para implementar una pila. Sin embargo, SQL Server no garantiza el orden en que filas son procesados ​y devueltos por las instrucciones DML con la cláusula OUTPUT. Corresponde a la solicitud de inclusión de una cláusula WHERE apropiada que garantice la semántica deseada, o entender que cuando hay varias filas aptas para la operación de DML, no hay ninguna garantía de orden. El ejemplo siguiente utiliza una subconsulta y asume la singularidad es una característica de la Columna DatabaseLogID para implementar la semántica de ordenación deseada.
  25. 25. USE tempdb; PRINT @MyTableVar, after deleteGO SELECT * FROM @MyTableVar;CREATE TABLE dbo.table1 DROP TABLE dbo.table1;( --Resultsid INT, --table1, before deleteemployee VARCHAR(32) --id employee) ------------- ------------------------------go --1 FredINSERT INTO dbo.table1 VALUES --2 Tom(1, Fred) --3 Sally,(2, Tom) --4 Alice,(3, Sally) --,(4, Alice); --table1, after deleteGO --id employeeDECLARE @MyTableVar TABLE ------------- ------------------------------( --1 Fredid INT, --3 Sallyemployee VARCHAR(32) --@MyTableVar, after delete); --id employeePRINT table1, before delete ------------- ------------------------------SELECT * FROM dbo.table1; --2 TomDELETE FROM dbo.table1 --4 AliceOUTPUT DELETED.* INTO @MyTableVarWHERE id = 4 OR id = 2;PRINT table1, after deleteSELECT * FROM dbo.table1;
  26. 26. • Utilice la sugerencia de tabla READPAST en UPDATE y DELETE si el escenario permite que varias aplicaciones realicen una lectura destructiva de una tabla. Esta evita problemas de bloqueo que pueden surgir si otra aplicación ya está leyendo la primera clasificación registro de la tabla.
  27. 27. • Ejemplos• A. Usar OUTPUT INTO con una instrucción INSERT simple El ejemplo siguiente inserta una fila en la tabla ScrapReason y utiliza la cláusula OUTPUT para devolver los resultados de la instrucción para la variable MyTableVartable @. Debido a que la columna ScrapReasonID se define con una propiedad IDENTITY, un valor no está especificado en la instrucción INSERT para esa columna. Sin embargo, tenga en cuenta que el valor generado por el motor de base de datos para esa columna se devuelve en la cláusula OUTPUT en la columna ID inserted.ScrapReason.
  28. 28. • USE AdventureWorks2012;• GO• DECLARE @MyTableVar table( NewScrapReasonID smallint,• Name varchar(50),• ModifiedDate datetime);• INSERT Production.ScrapReason• OUTPUT INSERTED.ScrapReasonID, INSERTED.Name, INSERTED.ModifiedDate• INTO @MyTableVar• VALUES (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, ModifiedDate• FROM Production.ScrapReason;• GO.
  29. 29. • LEA EL TEXTO Leer texto, texto, o valores de la imagen de un texto, ntext o columna de imagen, a partir de una. Desplazamiento especificado y leer el número de bytes especificado• Importante Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y piense en modificar las aplicaciones que actualmente utilizan esta característica. Utilice la función SUBSTRING lugar. Transact-SQL Convenciones de sintaxis.
  30. 30. • Syntax READTEXT { table.column text_ptr offset size } [ HOLDLOCK ] Argumentos• table.column Es el nombre de una tabla y la columna desde la que leer. Los nombres de tablas y columnas deben cumplir con las reglas de los identificadores. Especificación de la tabla y nombres de columna se requiere, sin embargo, especificar el nombre de base de datos y nombres de los propietarios es opcional.• text_ptr Es un puntero de texto válido. text_ptr debe ser binario (16).• offset Es el número de bytes (cuando los datos de texto o imagen tipos son utilizados) o caracteres (cuando el tipo de datos ntext se utiliza) para saltar antes de que empiece a leer el texto, la imagen o datos ntext.• Tamaño Es el número de bytes (cuando los datos de texto o imagen tipos son utilizados) o caracteres (cuando el tipo de datos ntext se usa) de datos a leer. Si el tamaño es 0, 4 bytes KB de datos se lee.
  31. 31. 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.
  32. 32. Los pasos siguientes muestran el orden de procesamiento lógico, o orden de enlace, para una sentencia SELECT.• 1. FROM• 2. ON• 3. JOIN• 4. WHERE• 5. GROUP BY• 6. WITH CUBE or WITH ROLLUP• 7. HAVING• 8. SELECT• 9. DISTINCT• 10. ORDER BY• 11. TOP
  33. 33. Group ByAgrupa un conjunto seleccionado de filas en unconjunto de filas de resumen por los valores de unao más columnas o expresiones en SQL Server 2012.Se devuelve una fila para cada grupo. Lasfunciones de agregado en la cláusula SELECT listaSELECT proporcionar información acerca de cadagrupo en lugar de filas individuales. La cláusula GROUP BY tiene una sintaxiscompatible con ISO y una sintaxis no ISO-compliant.Sólo uno estilo de sintaxis puede utilizarse en unasola instrucción SELECT.
  34. 34. En este tema, una cláusula GROUP BY sepuede describir como general o simple:• Una cláusula GROUP BY general incluyeGROUPING SETS, CUBE, ROLLUP, CUBE CON o WITHROLLUP.• Un simple GROUP BY no incluye GROUPING SETS,CUBE, ROLLUP CON CUBE, ROLLUP o WITH. GROUPBY (), total general, se considera un simple GROUPBY. Transact-SQL Convenciones de sintaxis(Transact-SQL)
  35. 35. • Limitaciones sintaxis GROUPING SETS no están permitidos en la cláusula GROUP BY a menos que sean parte de una lista GROUPING SETS. Por ejemplo, GROUP BY C1, (C2, ..., Cn) no está permitido, pero GROUP BY GROUPING SETS (C1, (C2, ..., Cn)) está permitido. GROUPING SETS no se permiten dentro de GROUPING SETS. Por ejemplo, GROUP BY GROUPING SETS (C1, GROUPING SETS (C2, C3)) no está permitido. La no-ISO TODOS, CON CUBE, ROLLUP y con palabras clave no están permitidos en un cláusula GROUP BY con palabras claves ROLLUP, CUBE o GROUPING SETS.
  36. 36. HAVINGEspecifica una condición de búsqueda para un grupo oun agregado. HAVING sólo se puede utilizar con laLa sentencia SELECT. HAVING se suele utilizar en unacláusula GROUP BY. Cuando GROUP BY no esutilizado, HAVING se comporta como una cláusulaWHERE.El texto, imagen, y tipos de datos ntext no se puedeutilizar en una cláusula HAVING Syntax [ HAVING <search condition> ]
  37. 37. CLÁUSULA INTOSELECT ... INTO crea una nueva tabla en el grupo dearchivos predeterminado e inserta las filas resultantes dela consulta en el mismo. Syntax [ INTO new_table ]
  38. 38. NEW_TABLEEspecifica el nombre de una tabla que se debe crearsobre la base de las columnas de la lista de selección ylas filas elegido de la fuente de datos.El formato de new_table se determina mediante laevaluación de las expresiones de la lista de selección.Las columnas de new_table se crean en el ordenespecificado por la lista de selección. cadacolumna en new_table tiene el mismo nombre, tipo dedatos nulabilidad y valor como elexpresión correspondiente en la lista de selección.
  39. 39. LA CLÁUSULA ORDER BYOrdena los datos devueltos por una consulta en SQLServer 2012. Utilice esta cláusula para:• Pida el conjunto de resultados de una consulta de lalista de columnas especificado y, opcionalmente, limitarlas filasdevuelto a un rango especificado. El orden en el quelas filas se devuelven en un conjunto de resultados nosongarantizada 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.Transact-SQL Convenciones de sintaxis
  40. 40. SINTAXISORDER BY order_by_expression[COLLATE][ASCArgumentos| DESC][, ... N][<offset_fetch>]<offset_fetch> :: ={OFFSET {integer_constant | offset_row_count_expression}{ROW | FILAS}[{FETCH FIRST | NEXT} {integer_constant |fetch_row_count_expression} {ROW | FILAS}SOLAMENTE]}
  41. 41. OVER CLÁUSULADetermina la partición y el ordenamiento de unconjunto de filas antes de la función de ventanaasociado esaplicado. Es decir, la cláusula OVER define una ventanao especificado por el usuario conjunto de filas dentro deuna consultaConjunto de resultados. Una función de ventana secalcula un valor para cada fila de la ventana. Ustedpuede utilizar elCláusula OVER con funciones para calcular valoresagregados tales como medias móviles, acumulativosagregados, totales acumulados, o un grupo de losmejores resultados por Numero Se aplica a:• Funciones de Clasificación• Las funciones de agregado• Funciones analíticas
  42. 42. TABLA DE VALOR CONSTRUCTOR Especifica un conjunto de expresiones de valor de fila para ser construidos en una tabla. La tabla de Transact- SQLconstructor valor permite que varias filas de datos quese especifica en una instrucción DML único. laconstructor tabla de valores se puede especificar en lacláusula VALUES de la instrucción INSERT, en laUSO cláusula <source tabla> de la instrucción MERGE, yen la definición de una tabla derivada enla cláusula FROM.
  43. 43. SYNTAXVALUES ( <row value expression list>) [ ,...n ]<row value expression list> ::={<row value expression> } [ ,...n ]<row value expression> ::={ DEFAULT | NULL | expression }
  44. 44. TOP Limita las filas devueltas en un resultado de consulta establecido en un número especificado de filas o porcentaje de filasen SQL Server 2012. Cuando TOP se utiliza en conjunción con la cláusula ORDER BY, el conjunto de resultadosse limita a la primera número N de filas ordenadas, de lo contrario, se devuelve el primer número N de azar filas. Utilice esta cláusula para especificar el número de filas de regresar de una instrucción SELECT o afectada por una instrucción INSERT, UPDATE, MERGE o DELETE.
  45. 45. UPDATECambiar datos existentes en una tabla o vistas en las consultas de sql server 2012
  46. 46. Para remplazar o modificar bloques grandes de texto,ntext o datos de imagen, utilice WRITETEXT oUPDATETEXT lugar de la instrucción UPDATE.El ntext, text, y los tipos de datos de imagen sequitará en una versión futura de Microsoft SQLServer. Evite el uso de estos tipos de datos en nuevostrabajos de desarrollo y piense en modificaraplicaciones que las usan actualmente. Utilicenvarchar (max), varchar (max), y varbinary (max).
  47. 47. • Suministrar un valor en un sistema de SQL Server de tipo de datos, siempre y cuando el tipo definido por el usuario admite la conversión implícita o explícita de ese tipo. ACTUALIZACIÓN Ciudades SET Ubicación = CONVERT (Point, .3:46.2 12 ) WHERE Nombre = Anchorage;
  48. 48. Control de erroresSi una actualización de una fila infringe una restricción onorma, viola el ajuste NULL para la columna, o el nuevovalor es un tipo de datos incompatible, se cancela lainstrucción, se devuelve un error y no se actualizan los registros.Cuando una instrucción UPDATE encuentra un erroraritmético (desbordamiento, división por cero, o un errorde dominio) al evaluar una expresión, la actualización nose realiza. El resto del lote es no ejecutado, y un mensaje deerror se devuelve.
  49. 49. Comportamiento• Bloqueo de comportamiento: Una instrucción UPDATE siempre adquiere un exclusivo (X) sobre la tabla que se modifica, y tiene que el bloqueo hasta que la transacción se complete. Con un bloqueo exclusivo, ninguna otra transacción puede modificar datos. Puede especificar sugerencias de tabla para anular este comportamiento predeterminado para la duración de la actualización declaración especificando otro método de bloqueo, sin embargo, se recomienda que sólo se utilicen las sugerencias como último recurso, por experimentados desarrolladores y administradores de bases de datos
  50. 50. SeguridadPermisos de actualización son necesarios en la tabla dedestino. Permisos SELECT también son necesariospara la tabla que se actualizará si la instrucciónUPDATE contiene una cláusula WHERE, o si laexpresión en la cláusula SET utiliza una columna en la tabla.ACTUALIZACIÓN de permisos predeterminados amiembros de la función fija de servidor sysadmin,db_owner y la db_datawriter funciones fijas de basede datos y el propietario de la tabla. Los miembros delas funciones sysadmin, db_owner, ydb_securityadminroles, y el propietario de la tablapueden transferir permisos a otros usuarios.
  51. 51. Sintaxis básicaLos ejemplos de esta sección muestran lafuncionalidad básica de la instrucción UPDATEutilizando el sintaxis mínimo requerido.A. Usar una instrucción UPDATE sencillo. El ejemplosiguiente actualiza una sola columna para todas lasfilas de la tabla Person.Address USE AdventureWorks2012; GO UPDATE Person.Address SET ModifiedDate = GETDATE();
  52. 52. Actualiza un texto existente, ntext o campo de imagen. UtiliceUPDATETEXT para cambiar sólo una parte de un text, ntext oimage columna en su lugar. Utilice WRITETEXT para actualizary remplazar un texto conjunto, ntext o campo de imagen.Esta característica se quitará en una versión futura de MicrosoftSQL Server. Evite el uso de este característica en nuevos trabajosde desarrollo y piense en modificar las aplicaciones queactualmente utilizan esta característica. Utilice los tipos de datosde valores grandes . WRITE de la instrucción UPDATE en su lugar.
  53. 53. sintaxisUPDATETEXT [BULK] { table_name.dest_column_name dest_text_ptr }{ NULL | insert_offset }{ NULL | delete_length }[ WITH LOG ][ inserted_data| { table_name.src_column_namesrc_text_ptr } ]Permite cargar herramientas para cargar un flujo de datos binarios. Lacorriente debe ser proporcionado por la herramienta en el nivel de protocoloTDS. Cuando la corriente de datos no está presente la consulta procesadorignora la opción BULK
  54. 54. Especifica la condición de búsqueda de las filas devueltaspor la consulta.Syntax[ WHERE <search_condition> ] Argumentos<search_condition>
  55. 55. Define las condiciones que deben cumplirse para las filasque se devuelven. No hay límite para la número depredicados que se pueden incluir en una condición debúsqueda. Para obtener más información sobre lascondiciones de búsqueda y predicados, vea Condiciones de búsqueda.
  56. 56. Especifica un conjunto con nombre temporal resultado,conocido como una expresión de tabla común (CTE). Esderivado de una consulta simple y se define en el ámbitode ejecución de un solo SELECT, INSERT, UPDATE oDELETE. Esta cláusula también se puede utilizar en unCREATE VIEW declaración como parte de su instrucciónSELECT que define. Una expresión de tabla común puedeincluir referencias a ella misma. Esto se conoce como unaexpresión de tabla común recursiva.
  57. 57. Syntax[ WITH <common_table_expression> [ ,...n ] ]<common_table_expression>::=expression_name [ (column_name [ ,...n ] ) ]AS(CTE_query_definition)
  58. 58. Permite el registro mínimo, la actualización interactiva deun texto existente, ntext o columna de imagen.WRITETEXT sobrescribe los datos existentes en la columnaafectada. WRITETEXT no se puede utilizar en las columnastext, ntext e image en las vistas.SyntaxWRITETEXT [BULK]{ table.column text_ptr }[ WITH LOG ] { data }
  1. A particular slide catching your eye?

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

×