SlideShare una empresa de Scribd logo
1 de 58
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
INTRODUCCIÓN.
El 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.
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
Lenguaje de manipulación de
   datos (DML) Declaraciones
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 los datos de un servidor SQL base de datos
en 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)
En la tabla siguiente se enumeran las
cláusulas que se utilizan en varias
sentencias 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
BULK INSERT
Importa un archivo de datos en una tabla o vista de
base de datos en un formato especificado por el
usuario.
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' ])]
ARGUMENTOS
database_name
Es el nombre de base de datos en la que la tabla o
vista especificada reside. Si no se especifica, es la
base de datos actual.

schema_name
Es el nombre de la tabla o vista es opcional
schema.schema_name        si     el      esquema
predeterminado para el usuario que realiza la
operación de importación masiva es el esquema de
la tabla o ver.
table_name
Es el nombre de la tabla o vista a la importación
masiva de datos en sólo los puntos de vista en el que
todas las columnas se refieren a la misma tabla base
pueden ser utilizados.

'Data_file'
Es la ruta completa del archivo de datos que
contiene los datos a importar a la tabla especificada
o ver.

BATCHSIZE = batch_size
Especifica el número de filas de un lote.
CHECK_CONSTRAINTS
Especifica que todas las restricciones de la tabla o
vista de destino deben comprobarse durante la
operació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.
BULK INSERT aplica estrictos controles de validación
de datos y los datos de lectura de datos desde un
archivo que podría causar scripts existentes a fallar
cuando se ejecutan en datos no válidos. Por ejemplo,
BULK INSERT verifica que:
• Las representaciones nativas de flotador o tipos de
datos reales son válidos.
• Los datos Unicode tienen una longitud de un byte.
Tipos de datos para granel Exportación o importación
de documentos XML de SQL para la exportación a
granel o importación de datos XML de SQL, utilice
uno de los siguientes tipos de datos en el archivo de
formato:

    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.
EJEMPLOS
Utilizar tubos para importar datos desde un archivo. El
ejemplo siguiente orden importaciones detalle la
información en el
AdventureWorks.Sales.SalesOrderDetail tabla del
archivo de datos especificado utilizando una barra
vertical (|) como el terminador de campo y |  n
como terminador de fila.
AdventureWorks.Sales.SalesOrderDetail BULK INSERT DE
LA "F:  órdenes  lineitem.tbl '
WITH (FIELDTERMINATOR = '|', ROWTERMINATOR = '|  n')
REMARKS.
Las sugerencias de la tabla se ignora si no se accede a la tabla por el plan de
consulta. Esto puede ser causado por AWQ el optimizador que optara por no
acceder a la tabla en absoluto, o porque una vista indizada ha accedido en su
lugar. En este último caso, el acceso a una vista indizada puede evitarse
mediante la opción (EXPAND VIEWS) sugerencia de consulta.

Todas las sugerencias de bloqueo se propagan a todas las tablas y vistas que se
accede por el plan de consulta, incluyendo tablas y vistas referenciadas en una
vista. Además, SQL Server realiza las correspondientes pruebas de
consistencia de bloqueos.

Bloqueo de pistas ROWLOCK, UPDLOCK Y XLOCK que adquieren nivel de fila
puede colocar candados en claves de índice en lugar de las filas de datos reales.
Si una tabla contiene columnas calculadas que se calculan por las expresiones
o funciones de acceso columnas de otras tablas, las sugerencias de tabla no
se utilizan en las tablas y no se propagan.

SQL Server no permite la sugerencia de tabla más de una de cada uno de los
siguientes 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 todas
las filas que la consulta ha seleccionado.
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 como
expresión de tabla común, define en el ámbito de la instrucción INSERT. El
conjunto 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ón
que 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 de
destino.
nombre_servidor.
Es el nombre del servidor vinculado en el que la tabla o vista es
located.server_name puede especificar como un nombre de servidor vinculado, o
mediante el uso de la función OPENDATASOURCE.

database_name
Es el nombre de la base de datos.

schema_name
Es el nombre del esquema al que pertenece la tabla o vista pertenece.

table_orview_name
Es 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 una
instrucción INSERT comunicado. La vista hace referencia table_or_view_name
debe ser actualizable y hacer referencia exactamente una base de la tabla en la
cláusula FROM de la vista.

rowset_function_limited
Es o bien la función OPENQUERY u OPENROWSET. El uso de estas funciones
es sujeto a las capacidades del proveedor OLE DB que tiene acceso al objeto
remoto.
WITH (<table_hint_limited> [... n])
Especifica una o más sugerencias de tabla permitidas para una tabla de
destino. La palabra clave WITH y los paréntesis son necesarios.

WHERE <search_condition>
Hay alguna cláusula WHERE que contiene una <search_condition> válido
que filtra las filas devuelto por <dml_statement_with_output_clause>.
Cuando se usa en este contexto, no puede <search_condition> contener
subconsultas, funciones escalares definidas por el usuario que realiza
acceso a los datos agregados, funciones, TEXTPTR o predicados de
texto completo de búsqueda.

FIRE_TRIGGERS
Especifica que los desencadenadores de inserción definidos en la tabla
de destino durante la ejecución binario flujo de datos de operación de
carga.
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úmero
de filas de una tabla, tal como una tabla de etapas, a otro tabla con registro
mínimo.

El registro mínimo puede mejorar el rendimiento de la instrucción y reducir
la posibilidad de la operación de llenado del espacio de registro de
transacciones 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.
DATA TYPES.

Data type   Default operation
Char        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.
MERGE
Realiza operaciones de inserción, actualización o eliminación en una tabla
de destino basado en los resultados de una combinación de una tabla de
origen.

Por ejemplo, puede sincronizar dos tablas mediante la inserción,
actualización o eliminación de las filas de una tabla basada en las
diferencias que se encuentran en la otra tabla.

La instrucción MERGE puede tener como máximo dos cláusulas cuando hay
coincidencia. Si dos cláusulas se especifican, a continuación, la primera
cláusula debe ir acompañada de una Y <search_condition> cláusula. Para
cualquier fila, la segunda cláusula WHEN es MATCHED sólo se aplica si el
primero no lo es.
Si hay dos cláusulas cuando coinciden, entonces se debe especificar
una acción UPDATE y hay que especificar una acción DELETE. Si la
actualización es especificada en la cláusula <merge_matched>, y más
de una fila de <table_source> coincide con una fila de target_table
basado en <merge_search_condition>, SQL Server devuelve un error.

La instrucción MERGE no puede actualizar la misma fila más de una
vez, o actualizar y borrar la misma fila.

MERGE está disponible tanto en 90 y 100 niveles de compatibilidad de
base de datos, sin embargo la palabra clave no está completamente
reservado cuando el nivel de compatibilidad de base de datos está
establecido en 90.
Usar MERGE para realizar operaciones INSERT y UPDATE en un objetivo
tabla utilizando una tabla de origen deriva. Los usos en el siguiente
ejemplo MERGE para modificar la tabla SalesReason ya sea por la
actualización o insertar filas.

Cuando el valor de NewName en la tabla de origen coincide con un valor en
la columna Nombre de la tabla de destino, (SalesReason), la columna
ReasonType se actualiza en la tabla de destino. Cuando el valor de
NewName 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 tabla
de Transact-SQL para especificar varias filas para la tabla de origen.
• 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.
USE tempdb;                         PRINT '@MyTableVar, after delete'
GO                                  SELECT * FROM @MyTableVar;
CREATE TABLE dbo.table1             DROP TABLE dbo.table1;
(                                   --Results
id INT,                             --table1, before delete
employee VARCHAR(32)                --id employee
)                                   ------------- ------------------------------
go                                  --1 Fred
INSERT INTO dbo.table1 VALUES       --2 Tom
(1, 'Fred')                         --3 Sally
,(2, 'Tom')                         --4 Alice
,(3, 'Sally')                       --
,(4, 'Alice');                      --table1, after delete
GO                                  --id employee
DECLARE @MyTableVar TABLE           ------------- ------------------------------
(                                   --1 Fred
id INT,                             --3 Sally
employee VARCHAR(32)                --@MyTableVar, after delete
);                                  --id employee
PRINT 'table1, before delete'       ------------- ------------------------------
SELECT * FROM dbo.table1;           --2 Tom
DELETE FROM dbo.table1              --4 Alice
OUTPUT DELETED.* INTO @MyTableVar
WHERE id = 4 OR id = 2;
PRINT 'table1, after delete'
SELECT * FROM dbo.table1;
• 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.
• 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.
•   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 (N'Operator 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.
• 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.
• 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.
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.
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
Group By
Agrupa un conjunto seleccionado de filas en un
conjunto de filas de resumen por 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 uno estilo de sintaxis puede utilizarse en una
sola instrucción SELECT.
En este tema, una cláusula GROUP BY se
puede describir como general o simple:

• Una cláusula GROUP BY general incluye
GROUPING SETS, CUBE, ROLLUP, CUBE CON o WITH
ROLLUP.

• Un simple GROUP BY no incluye GROUPING SETS,
CUBE, ROLLUP CON CUBE, ROLLUP o WITH. GROUP
BY (), total general, se considera un simple GROUP
BY. Transact-SQL Convenciones de sintaxis
(Transact-SQL)
• 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.
HAVING
Especifica una condición de búsqueda para un grupo o
un agregado. HAVING sólo se puede utilizar con la
La sentencia SELECT. HAVING se suele utilizar en una
cláusula GROUP BY. Cuando GROUP BY no es
utilizado, HAVING se comporta como una cláusula
WHERE.
El texto, imagen, y tipos de datos ntext no se puede
utilizar en una cláusula HAVING
                          Syntax
               [ HAVING <search condition> ]
CLÁUSULA INTO
SELECT ... INTO crea una nueva tabla en el grupo de
archivos predeterminado e inserta las filas resultantes de
la consulta en el mismo.
                          Syntax
                    [ INTO new_table ]
NEW_TABLE
Especifica el nombre de una tabla que se debe crear
sobre la base de las columnas de la lista de selección y
las filas elegido de la fuente de datos.
El formato de new_table se determina mediante la
evaluación de las expresiones de la lista de selección.
Las columnas de new_table se crean en el orden
especificado por la lista de selección. cada
columna en new_table tiene el mismo nombre, tipo de
datos nulabilidad y valor como el
expresión correspondiente en la lista de selección.
LA CLÁUSULA ORDER BY
Ordena los datos devueltos por una consulta en SQL
Server 2012. Utilice esta cláusula para:
• Pida el conjunto de resultados de una consulta de la
lista de columnas especificado y, opcionalmente, limitar
las filas
devuelto a un rango especificado. El orden en el que
las filas se devuelven en un conjunto de resultados no
son
garantizada a menos que una cláusula ORDER BY se
especifica.
• Determinar el orden en el que los valores de rango de
función se aplica al conjunto de resultados.
Transact-SQL Convenciones de sintaxis
SINTAXIS
ORDER BY order_by_expression
[COLLATE]
[ASC
Argumentos
| 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
]
}
OVER CLÁUSULA
Determina la partición y el ordenamiento de un
conjunto de filas antes de la función de ventana
asociado es
aplicado. Es decir, la cláusula OVER define una ventana
o especificado por el usuario conjunto de filas dentro de
una consulta
Conjunto de resultados. Una función de ventana se
calcula un valor para cada fila de la ventana. Usted
puede utilizar el
Cláusula OVER con funciones para calcular valores
agregados tales como medias móviles, acumulativos
agregados, totales acumulados, o un grupo de los
mejores resultados por Numero Se aplica a:
• Funciones de Clasificación
• Las funciones de agregado
• Funciones analíticas
TABLA DE VALOR CONSTRUCTOR
  Especifica un conjunto de expresiones de valor de fila
 para ser construidos en una tabla. La tabla de Transact-
                           SQL
constructor valor permite que varias filas de datos que
se especifica en una instrucción DML único. la
constructor tabla de valores se puede especificar en la
cláusula VALUES de la instrucción INSERT, en la
USO cláusula <source tabla> de la instrucción MERGE, y
en la definición de una tabla derivada en
la cláusula FROM.
SYNTAX
VALUES ( <row value expression list>) [ ,...n ]
<row value expression list> ::=
{<row value expression> } [ ,...n ]
<row value expression> ::=
{ DEFAULT | NULL | expression }
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 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.
UPDATE

Cambiar 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 o
UPDATETEXT lugar de la instrucción UPDATE.

El ntext, text, y los tipos de datos de imagen se
quitará en una versión futura de Microsoft SQL
Server. Evite el uso de estos tipos de datos en nuevos
trabajos de desarrollo y piense en modificar
aplicaciones que las usan actualmente. Utilice
nvarchar (max), varchar (max), y varbinary (max).
• 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';
Control de errores
Si una actualización de una fila infringe una restricción o
norma, viola el ajuste NULL para la columna, o el nuevo
valor es un tipo de datos incompatible, se cancela la
instrucción, se devuelve un error y no se actualizan los
                            registros.
Cuando una instrucción UPDATE encuentra un error
aritmético (desbordamiento, división por cero, o un error
de dominio) al evaluar una expresión, la actualización no
se realiza. El resto del lote es no ejecutado, y un mensaje de
error se devuelve.
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
Seguridad
Permisos de actualización son necesarios en la tabla de
destino. Permisos SELECT también son necesarios
para la tabla que se actualizará si la instrucción
UPDATE contiene una cláusula WHERE, o si la
expresión en la cláusula SET utiliza una columna en la
                         tabla.
ACTUALIZACIÓN de permisos predeterminados a
miembros de la función fija de servidor sysadmin,
db_owner y la db_datawriter funciones fijas de base
de datos y el propietario de la tabla. Los miembros de
las     funciones      sysadmin,       db_owner,     y
db_securityadminroles, y el propietario de la tabla
pueden transferir permisos a otros usuarios.
Sintaxis básica

Los ejemplos de esta sección muestran la
funcionalidad básica de la instrucción UPDATE
utilizando el sintaxis mínimo requerido.

A. Usar una instrucción UPDATE sencillo. El ejemplo
siguiente actualiza una sola columna para todas las
filas de la tabla Person.Address

               USE AdventureWorks2012;
                          GO
                UPDATE Person.Address
             SET ModifiedDate = GETDATE();
Actualiza un texto existente, ntext o campo de imagen. Utilice
UPDATETEXT para cambiar sólo una parte de un text, ntext o
image columna en su lugar. Utilice WRITETEXT para actualizar
y remplazar un texto conjunto, ntext o campo de imagen.
Esta característica se quitará en una versión futura de Microsoft
SQL Server. Evite el uso de este característica en nuevos trabajos
de desarrollo y piense en modificar las aplicaciones que
actualmente utilizan esta característica. Utilice los tipos de datos
de valores grandes . WRITE de la instrucción UPDATE en su
                               lugar.
sintaxis
UPDATETEXT [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. La
corriente debe ser proporcionado por la herramienta en el nivel de protocolo
TDS. Cuando la corriente de datos no está presente la consulta procesador
ignora la opción BULK
Especifica la condición de búsqueda de las filas devueltas
por la consulta.

Syntax
[ WHERE <search_condition> ]
 Argumentos
<search_condition>
Define las condiciones que deben cumplirse para las filas
que se devuelven. No hay límite para la número de
predicados que se pueden incluir en una condición de
búsqueda. Para obtener más información sobre las
condiciones de búsqueda y predicados, vea Condiciones de
                        búsqueda.
Especifica un conjunto con nombre temporal resultado,
conocido como una expresión de tabla común (CTE). Es
derivado de una consulta simple y se define en el ámbito
de ejecución de un solo SELECT, INSERT, UPDATE o
DELETE. Esta cláusula también se puede utilizar en un
CREATE VIEW declaración como parte de su instrucción
SELECT que define. Una expresión de tabla común puede
incluir referencias a ella misma. Esto se conoce como una
expresión de tabla común recursiva.
Syntax
[ WITH <common_table_expression> [ ,...n ] ]
<common_table_expression>::=
expression_name [ (column_name [ ,...n ] ) ]
AS
(CTE_query_definition)
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.

Syntax
WRITETEXT [BULK]
{ table.column text_ptr }
[ WITH LOG ] { data }

Más contenido relacionado

La actualidad más candente

Almacenamiento en bases de datos ejercicio maestria
Almacenamiento en bases de datos ejercicio maestriaAlmacenamiento en bases de datos ejercicio maestria
Almacenamiento en bases de datos ejercicio maestriaMeymorsal
 
DDL oracle - base de datos
DDL oracle - base de datosDDL oracle - base de datos
DDL oracle - base de datosLuis Bando
 
Comandos, sentencias, clausulas
Comandos, sentencias, clausulasComandos, sentencias, clausulas
Comandos, sentencias, clausulasGustavo Cortez
 
Comandos dll en sql server
Comandos dll en sql serverComandos dll en sql server
Comandos dll en sql serverVicente Alberca
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Sergio Sanchez
 
4. sql (autoguardado)
4. sql (autoguardado)4. sql (autoguardado)
4. sql (autoguardado)felpe33
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLTotus Muertos
 
Sql comandos
Sql comandosSql comandos
Sql comandosJose
 
Lenguaje estructurado sql
Lenguaje estructurado sqlLenguaje estructurado sql
Lenguaje estructurado sqlDiego Sánchez
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transactbandida123
 
SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...
SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...
SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...Anastacio Salazar
 

La actualidad más candente (19)

Tablas y tipos de datos
Tablas y tipos de datosTablas y tipos de datos
Tablas y tipos de datos
 
Almacenamiento en bases de datos ejercicio maestria
Almacenamiento en bases de datos ejercicio maestriaAlmacenamiento en bases de datos ejercicio maestria
Almacenamiento en bases de datos ejercicio maestria
 
LDD
LDDLDD
LDD
 
DDL oracle - base de datos
DDL oracle - base de datosDDL oracle - base de datos
DDL oracle - base de datos
 
Comandos, sentencias, clausulas
Comandos, sentencias, clausulasComandos, sentencias, clausulas
Comandos, sentencias, clausulas
 
Comandos dll en sql server
Comandos dll en sql serverComandos dll en sql server
Comandos dll en sql server
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
4. sql (autoguardado)
4. sql (autoguardado)4. sql (autoguardado)
4. sql (autoguardado)
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQL
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
 
Sql comandos
Sql comandosSql comandos
Sql comandos
 
Luis cepeda
Luis cepedaLuis cepeda
Luis cepeda
 
Introducción al SQL
Introducción al SQLIntroducción al SQL
Introducción al SQL
 
Unidad 6 Lenguaje Sql
Unidad 6 Lenguaje SqlUnidad 6 Lenguaje Sql
Unidad 6 Lenguaje Sql
 
Lenguaje transact
Lenguaje transactLenguaje transact
Lenguaje transact
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Lenguaje estructurado sql
Lenguaje estructurado sqlLenguaje estructurado sql
Lenguaje estructurado sql
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transact
 
SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...
SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...
SQL Server conceptos basicos,DDL Lenguaje de definicion datos,DMLLenguaje de ...
 

Destacado

Proyecto factura excel creando clientes y almacenando en una base de datos
Proyecto factura excel creando clientes y almacenando en una base de datosProyecto factura excel creando clientes y almacenando en una base de datos
Proyecto factura excel creando clientes y almacenando en una base de datosJFKSOFT CORP.
 
¿Cómo migrar tus bases de datos sql server 2012 a sql azure?
¿Cómo migrar tus bases de datos sql server 2012 a sql azure?¿Cómo migrar tus bases de datos sql server 2012 a sql azure?
¿Cómo migrar tus bases de datos sql server 2012 a sql azure?Eduardo Sojo
 
Habilitacion de Autentificaion de sql
Habilitacion de Autentificaion de sql Habilitacion de Autentificaion de sql
Habilitacion de Autentificaion de sql KevinFD
 
Exportar datos con oracle sql developer a excel
Exportar datos con oracle sql developer a excelExportar datos con oracle sql developer a excel
Exportar datos con oracle sql developer a excelFredys Nieto
 
Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1Julián Castiblanco
 
Programacion con SQL Server 2005
Programacion con SQL Server 2005Programacion con SQL Server 2005
Programacion con SQL Server 2005brobelo
 
Habilitar la Autenticación SQL y crear un nuevo usuario SQL
Habilitar la Autenticación SQL y crear un nuevo usuario SQLHabilitar la Autenticación SQL y crear un nuevo usuario SQL
Habilitar la Autenticación SQL y crear un nuevo usuario SQLnarkamo3
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sqlJulian Benavidez
 
CONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVERCONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVERDarwin Durand
 
Users - Desarrollo PHP + MySQL
Users - Desarrollo PHP + MySQLUsers - Desarrollo PHP + MySQL
Users - Desarrollo PHP + MySQLAndrés Pizarro
 

Destacado (20)

Proyecto factura excel creando clientes y almacenando en una base de datos
Proyecto factura excel creando clientes y almacenando en una base de datosProyecto factura excel creando clientes y almacenando en una base de datos
Proyecto factura excel creando clientes y almacenando en una base de datos
 
Sql server 2014 básico
Sql server 2014 básicoSql server 2014 básico
Sql server 2014 básico
 
¿Cómo migrar tus bases de datos sql server 2012 a sql azure?
¿Cómo migrar tus bases de datos sql server 2012 a sql azure?¿Cómo migrar tus bases de datos sql server 2012 a sql azure?
¿Cómo migrar tus bases de datos sql server 2012 a sql azure?
 
Microsoft sql server 2012
Microsoft sql server 2012Microsoft sql server 2012
Microsoft sql server 2012
 
Habilitacion de Autentificaion de sql
Habilitacion de Autentificaion de sql Habilitacion de Autentificaion de sql
Habilitacion de Autentificaion de sql
 
Exportar información de Sql Server a Excel
Exportar información de Sql Server a ExcelExportar información de Sql Server a Excel
Exportar información de Sql Server a Excel
 
manual de c# (2)
manual de c# (2)manual de c# (2)
manual de c# (2)
 
Exportar datos con oracle sql developer a excel
Exportar datos con oracle sql developer a excelExportar datos con oracle sql developer a excel
Exportar datos con oracle sql developer a excel
 
Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1
 
Programacion con SQL Server 2005
Programacion con SQL Server 2005Programacion con SQL Server 2005
Programacion con SQL Server 2005
 
Migración a sql server 2008
Migración a sql server 2008Migración a sql server 2008
Migración a sql server 2008
 
Taller Básico Sentencias SQL
Taller Básico Sentencias SQL Taller Básico Sentencias SQL
Taller Básico Sentencias SQL
 
C Sharp Avanzado Dia 1
C Sharp Avanzado   Dia 1C Sharp Avanzado   Dia 1
C Sharp Avanzado Dia 1
 
Habilitar la Autenticación SQL y crear un nuevo usuario SQL
Habilitar la Autenticación SQL y crear un nuevo usuario SQLHabilitar la Autenticación SQL y crear un nuevo usuario SQL
Habilitar la Autenticación SQL y crear un nuevo usuario SQL
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sql
 
CONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVERCONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVER
 
Visual y sql
Visual y sqlVisual y sql
Visual y sql
 
Users - Desarrollo PHP + MySQL
Users - Desarrollo PHP + MySQLUsers - Desarrollo PHP + MySQL
Users - Desarrollo PHP + MySQL
 
C# guía total del programador
C# guía total del programadorC# guía total del programador
C# guía total del programador
 
La biblia de mysql
La biblia de mysqlLa biblia de mysql
La biblia de mysql
 

Similar a SQL Server DML Lenguaje de manipulación de datos

lenguaje transact
lenguaje transactlenguaje transact
lenguaje transactbandida123
 
ManualPracticoSQL.pdf
ManualPracticoSQL.pdfManualPracticoSQL.pdf
ManualPracticoSQL.pdfJenny29068
 
Tm13 introduccion al_sql
Tm13 introduccion al_sqlTm13 introduccion al_sql
Tm13 introduccion al_sqlJulio Pari
 
Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas  Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas Crhis
 
Manual practico SQL
Manual practico SQLManual practico SQL
Manual practico SQLAna Aguirre
 
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptxCarlosSaid7
 
Sentencias Sql
Sentencias SqlSentencias Sql
Sentencias Sqlfer951
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddlusamn
 
Abf leccion 18
Abf leccion 18Abf leccion 18
Abf leccion 18victdiazm
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddlyehisam
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddlyehisam
 

Similar a SQL Server DML Lenguaje de manipulación de datos (20)

lenguaje transact
lenguaje transactlenguaje transact
lenguaje transact
 
ManualPracticoSQL.pdf
ManualPracticoSQL.pdfManualPracticoSQL.pdf
ManualPracticoSQL.pdf
 
Base de datos - Clase 2
Base de datos - Clase 2Base de datos - Clase 2
Base de datos - Clase 2
 
Tm13 introduccion al_sql
Tm13 introduccion al_sqlTm13 introduccion al_sql
Tm13 introduccion al_sql
 
Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas  Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas
 
Manual practico SQL
Manual practico SQLManual practico SQL
Manual practico SQL
 
Manual practicosql
Manual practicosqlManual practicosql
Manual practicosql
 
Manual practico SQL
Manual practico SQLManual practico SQL
Manual practico SQL
 
Manual practico-sql
Manual practico-sqlManual practico-sql
Manual practico-sql
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
 
Sentencias Sql
Sentencias SqlSentencias Sql
Sentencias Sql
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddl
 
Presentacion 4 unidad
Presentacion 4 unidadPresentacion 4 unidad
Presentacion 4 unidad
 
SQL
SQLSQL
SQL
 
Abf leccion 18
Abf leccion 18Abf leccion 18
Abf leccion 18
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddl
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddl
 
Exposición
ExposiciónExposición
Exposición
 

SQL Server DML Lenguaje de manipulación de datos

  • 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. INTRODUCCIÓN. El 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.
  • 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. Lenguaje de manipulación de datos (DML) Declaraciones 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 los datos de un servidor SQL base de datos en 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. En la tabla siguiente se enumeran las cláusulas que se utilizan en varias sentencias 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. BULK INSERT Importa un archivo de datos en una tabla o vista de base de datos en un formato especificado por el usuario.
  • 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. ARGUMENTOS database_name Es el nombre de base de datos en la que la tabla o vista especificada reside. Si no se especifica, es la base de datos actual. schema_name Es el nombre de la tabla o vista es opcional schema.schema_name si el esquema predeterminado para el usuario que realiza la operación de importación masiva es el esquema de la tabla o ver.
  • 9. table_name Es el nombre de la tabla o vista a la importación masiva de datos en sólo los puntos de vista en el que todas las columnas se refieren a la misma tabla base pueden ser utilizados. 'Data_file' Es la ruta completa del archivo de datos que contiene los datos a importar a la tabla especificada o ver. BATCHSIZE = batch_size Especifica el número de filas de un lote.
  • 10. CHECK_CONSTRAINTS Especifica que todas las restricciones de la tabla o vista de destino deben comprobarse durante la operació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. BULK INSERT aplica estrictos controles de validación de datos y los datos de lectura de datos desde un archivo que podría causar scripts existentes a fallar cuando se ejecutan en datos no válidos. Por ejemplo, BULK INSERT verifica que: • Las representaciones nativas de flotador o tipos de datos reales son válidos. • Los datos Unicode tienen una longitud de un byte.
  • 12. Tipos de datos para granel Exportación o importación de documentos XML de SQL para la exportación a granel o importación de datos XML de SQL, utilice uno de los siguientes tipos de datos en el archivo de formato: 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. EJEMPLOS Utilizar tubos para importar datos desde un archivo. El ejemplo siguiente orden importaciones detalle la información en el AdventureWorks.Sales.SalesOrderDetail tabla del archivo de datos especificado utilizando una barra vertical (|) como el terminador de campo y | n como terminador de fila. AdventureWorks.Sales.SalesOrderDetail BULK INSERT DE LA "F: órdenes lineitem.tbl ' WITH (FIELDTERMINATOR = '|', ROWTERMINATOR = '| n')
  • 14. REMARKS. Las sugerencias de la tabla se ignora si no se accede a la tabla por el plan de consulta. Esto puede ser causado por AWQ el optimizador que optara por no acceder a la tabla en absoluto, o porque una vista indizada ha accedido en su lugar. En este último caso, el acceso a una vista indizada puede evitarse mediante la opción (EXPAND VIEWS) sugerencia de consulta. Todas las sugerencias de bloqueo se propagan a todas las tablas y vistas que se accede por el plan de consulta, incluyendo tablas y vistas referenciadas en una vista. Además, SQL Server realiza las correspondientes pruebas de consistencia de bloqueos. Bloqueo de pistas ROWLOCK, UPDLOCK Y XLOCK que adquieren nivel de fila puede colocar candados en claves de índice en lugar de las filas de datos reales.
  • 15. Si una tabla contiene columnas calculadas que se calculan por las expresiones o funciones de acceso columnas de otras tablas, las sugerencias de tabla no se utilizan en las tablas y no se propagan. SQL Server no permite la sugerencia de tabla más de una de cada uno de los siguientes 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 todas las filas que la consulta ha seleccionado.
  • 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 como expresión de tabla común, define en el ámbito de la instrucción INSERT. El conjunto 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ón que 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 de destino.
  • 17. nombre_servidor. Es el nombre del servidor vinculado en el que la tabla o vista es located.server_name puede especificar como un nombre de servidor vinculado, o mediante el uso de la función OPENDATASOURCE. database_name Es el nombre de la base de datos. schema_name Es el nombre del esquema al que pertenece la tabla o vista pertenece. table_orview_name Es 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 una instrucción INSERT comunicado. La vista hace referencia table_or_view_name debe ser actualizable y hacer referencia exactamente una base de la tabla en la cláusula FROM de la vista. rowset_function_limited Es o bien la función OPENQUERY u OPENROWSET. El uso de estas funciones es sujeto a las capacidades del proveedor OLE DB que tiene acceso al objeto remoto.
  • 18. WITH (<table_hint_limited> [... n]) Especifica una o más sugerencias de tabla permitidas para una tabla de destino. La palabra clave WITH y los paréntesis son necesarios. WHERE <search_condition> Hay alguna cláusula WHERE que contiene una <search_condition> válido que filtra las filas devuelto por <dml_statement_with_output_clause>. Cuando se usa en este contexto, no puede <search_condition> contener subconsultas, funciones escalares definidas por el usuario que realiza acceso a los datos agregados, funciones, TEXTPTR o predicados de texto completo de búsqueda. FIRE_TRIGGERS Especifica que los desencadenadores de inserción definidos en la tabla de destino durante la ejecución binario flujo de datos de operación de carga.
  • 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úmero de filas de una tabla, tal como una tabla de etapas, a otro tabla con registro mínimo. El registro mínimo puede mejorar el rendimiento de la instrucción y reducir la posibilidad de la operación de llenado del espacio de registro de transacciones 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. DATA TYPES. Data type Default operation Char 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. MERGE Realiza operaciones de inserción, actualización o eliminación en una tabla de destino basado en los resultados de una combinación de una tabla de origen. Por ejemplo, puede sincronizar dos tablas mediante la inserción, actualización o eliminación de las filas de una tabla basada en las diferencias que se encuentran en la otra tabla. La instrucción MERGE puede tener como máximo dos cláusulas cuando hay coincidencia. Si dos cláusulas se especifican, a continuación, la primera cláusula debe ir acompañada de una Y <search_condition> cláusula. Para cualquier fila, la segunda cláusula WHEN es MATCHED sólo se aplica si el primero no lo es.
  • 22. Si hay dos cláusulas cuando coinciden, entonces se debe especificar una acción UPDATE y hay que especificar una acción DELETE. Si la actualización es especificada en la cláusula <merge_matched>, y más de una fila de <table_source> coincide con una fila de target_table basado en <merge_search_condition>, SQL Server devuelve un error. La instrucción MERGE no puede actualizar la misma fila más de una vez, o actualizar y borrar la misma fila. MERGE está disponible tanto en 90 y 100 niveles de compatibilidad de base de datos, sin embargo la palabra clave no está completamente reservado cuando el nivel de compatibilidad de base de datos está establecido en 90.
  • 23. Usar MERGE para realizar operaciones INSERT y UPDATE en un objetivo tabla utilizando una tabla de origen deriva. Los usos en el siguiente ejemplo MERGE para modificar la tabla SalesReason ya sea por la actualización o insertar filas. Cuando el valor de NewName en la tabla de origen coincide con un valor en la columna Nombre de la tabla de destino, (SalesReason), la columna ReasonType se actualiza en la tabla de destino. Cuando el valor de NewName 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 tabla de Transact-SQL para especificar varias filas para la tabla de origen.
  • 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. USE tempdb; PRINT '@MyTableVar, after delete' GO SELECT * FROM @MyTableVar; CREATE TABLE dbo.table1 DROP TABLE dbo.table1; ( --Results id INT, --table1, before delete employee VARCHAR(32) --id employee ) ------------- ------------------------------ go --1 Fred INSERT INTO dbo.table1 VALUES --2 Tom (1, 'Fred') --3 Sally ,(2, 'Tom') --4 Alice ,(3, 'Sally') -- ,(4, 'Alice'); --table1, after delete GO --id employee DECLARE @MyTableVar TABLE ------------- ------------------------------ ( --1 Fred id INT, --3 Sally employee VARCHAR(32) --@MyTableVar, after delete ); --id employee PRINT 'table1, before delete' ------------- ------------------------------ SELECT * FROM dbo.table1; --2 Tom DELETE FROM dbo.table1 --4 Alice OUTPUT DELETED.* INTO @MyTableVar WHERE id = 4 OR id = 2; PRINT 'table1, after delete' SELECT * FROM dbo.table1;
  • 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. • 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. 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 (N'Operator 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. • 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. • 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. 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. 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. Group By Agrupa un conjunto seleccionado de filas en un conjunto de filas de resumen por 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 uno estilo de sintaxis puede utilizarse en una sola instrucción SELECT.
  • 34. En este tema, una cláusula GROUP BY se puede describir como general o simple: • Una cláusula GROUP BY general incluye GROUPING SETS, CUBE, ROLLUP, CUBE CON o WITH ROLLUP. • Un simple GROUP BY no incluye GROUPING SETS, CUBE, ROLLUP CON CUBE, ROLLUP o WITH. GROUP BY (), total general, se considera un simple GROUP BY. Transact-SQL Convenciones de sintaxis (Transact-SQL)
  • 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. HAVING Especifica una condición de búsqueda para un grupo o un agregado. HAVING sólo se puede utilizar con la La sentencia SELECT. HAVING se suele utilizar en una cláusula GROUP BY. Cuando GROUP BY no es utilizado, HAVING se comporta como una cláusula WHERE. El texto, imagen, y tipos de datos ntext no se puede utilizar en una cláusula HAVING Syntax [ HAVING <search condition> ]
  • 37. CLÁUSULA INTO SELECT ... INTO crea una nueva tabla en el grupo de archivos predeterminado e inserta las filas resultantes de la consulta en el mismo. Syntax [ INTO new_table ]
  • 38. NEW_TABLE Especifica el nombre de una tabla que se debe crear sobre la base de las columnas de la lista de selección y las filas elegido de la fuente de datos. El formato de new_table se determina mediante la evaluación de las expresiones de la lista de selección. Las columnas de new_table se crean en el orden especificado por la lista de selección. cada columna en new_table tiene el mismo nombre, tipo de datos nulabilidad y valor como el expresión correspondiente en la lista de selección.
  • 39. LA CLÁUSULA ORDER BY Ordena los datos devueltos por una consulta en SQL Server 2012. Utilice esta cláusula para: • Pida el conjunto de resultados de una consulta de la lista de columnas especificado y, opcionalmente, limitar las filas devuelto a un rango especificado. El orden en el que las filas se devuelven en un conjunto de resultados no son garantizada a menos que una cláusula ORDER BY se especifica. • Determinar el orden en el que los valores de rango de función se aplica al conjunto de resultados. Transact-SQL Convenciones de sintaxis
  • 40. SINTAXIS ORDER BY order_by_expression [COLLATE] [ASC Argumentos | 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. OVER CLÁUSULA Determina la partición y el ordenamiento de un conjunto de filas antes de la función de ventana asociado es aplicado. Es decir, la cláusula OVER define una ventana o especificado por el usuario conjunto de filas dentro de una consulta Conjunto de resultados. Una función de ventana se calcula un valor para cada fila de la ventana. Usted puede utilizar el Cláusula OVER con funciones para calcular valores agregados tales como medias móviles, acumulativos agregados, totales acumulados, o un grupo de los mejores resultados por Numero Se aplica a: • Funciones de Clasificación • Las funciones de agregado • Funciones analíticas
  • 42. TABLA DE VALOR CONSTRUCTOR Especifica un conjunto de expresiones de valor de fila para ser construidos en una tabla. La tabla de Transact- SQL constructor valor permite que varias filas de datos que se especifica en una instrucción DML único. la constructor tabla de valores se puede especificar en la cláusula VALUES de la instrucción INSERT, en la USO cláusula <source tabla> de la instrucción MERGE, y en la definición de una tabla derivada en la cláusula FROM.
  • 43. SYNTAX VALUES ( <row value expression list>) [ ,...n ] <row value expression list> ::= {<row value expression> } [ ,...n ] <row value expression> ::= { DEFAULT | NULL | expression }
  • 44. 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 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. UPDATE Cambiar datos existentes en una tabla o vistas en las consultas de sql server 2012
  • 46. Para remplazar o modificar bloques grandes de texto, ntext o datos de imagen, utilice WRITETEXT o UPDATETEXT lugar de la instrucción UPDATE. El ntext, text, y los tipos de datos de imagen se quitará en una versión futura de Microsoft SQL Server. Evite el uso de estos tipos de datos en nuevos trabajos de desarrollo y piense en modificar aplicaciones que las usan actualmente. Utilice nvarchar (max), varchar (max), y varbinary (max).
  • 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. Control de errores Si una actualización de una fila infringe una restricción o norma, viola el ajuste NULL para la columna, o el nuevo valor es un tipo de datos incompatible, se cancela la instrucción, se devuelve un error y no se actualizan los registros. Cuando una instrucción UPDATE encuentra un error aritmético (desbordamiento, división por cero, o un error de dominio) al evaluar una expresión, la actualización no se realiza. El resto del lote es no ejecutado, y un mensaje de error se devuelve.
  • 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. Seguridad Permisos de actualización son necesarios en la tabla de destino. Permisos SELECT también son necesarios para la tabla que se actualizará si la instrucción UPDATE contiene una cláusula WHERE, o si la expresión en la cláusula SET utiliza una columna en la tabla. ACTUALIZACIÓN de permisos predeterminados a miembros de la función fija de servidor sysadmin, db_owner y la db_datawriter funciones fijas de base de datos y el propietario de la tabla. Los miembros de las funciones sysadmin, db_owner, y db_securityadminroles, y el propietario de la tabla pueden transferir permisos a otros usuarios.
  • 51. Sintaxis básica Los ejemplos de esta sección muestran la funcionalidad básica de la instrucción UPDATE utilizando el sintaxis mínimo requerido. A. Usar una instrucción UPDATE sencillo. El ejemplo siguiente actualiza una sola columna para todas las filas de la tabla Person.Address USE AdventureWorks2012; GO UPDATE Person.Address SET ModifiedDate = GETDATE();
  • 52. Actualiza un texto existente, ntext o campo de imagen. Utilice UPDATETEXT para cambiar sólo una parte de un text, ntext o image columna en su lugar. Utilice WRITETEXT para actualizar y remplazar un texto conjunto, ntext o campo de imagen. Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite el uso de este característica en nuevos trabajos de desarrollo y piense en modificar las aplicaciones que actualmente utilizan esta característica. Utilice los tipos de datos de valores grandes . WRITE de la instrucción UPDATE en su lugar.
  • 53. sintaxis UPDATETEXT [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. La corriente debe ser proporcionado por la herramienta en el nivel de protocolo TDS. Cuando la corriente de datos no está presente la consulta procesador ignora la opción BULK
  • 54. Especifica la condición de búsqueda de las filas devueltas por la consulta. Syntax [ WHERE <search_condition> ] Argumentos <search_condition>
  • 55. Define las condiciones que deben cumplirse para las filas que se devuelven. No hay límite para la número de predicados que se pueden incluir en una condición de búsqueda. Para obtener más información sobre las condiciones de búsqueda y predicados, vea Condiciones de búsqueda.
  • 56. Especifica un conjunto con nombre temporal resultado, conocido como una expresión de tabla común (CTE). Es derivado de una consulta simple y se define en el ámbito de ejecución de un solo SELECT, INSERT, UPDATE o DELETE. Esta cláusula también se puede utilizar en un CREATE VIEW declaración como parte de su instrucción SELECT que define. Una expresión de tabla común puede incluir referencias a ella misma. Esto se conoce como una expresión de tabla común recursiva.
  • 57. Syntax [ WITH <common_table_expression> [ ,...n ] ] <common_table_expression>::= expression_name [ (column_name [ ,...n ] ) ] AS (CTE_query_definition)
  • 58. 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. Syntax WRITETEXT [BULK] { table.column text_ptr } [ WITH LOG ] { data }