SlideShare una empresa de Scribd logo
1 de 58
EQUIPO 8
         INTEGRANTES:
   LAYNA LÓPEZ JESÚS ANDRÉS
ESPINOSA GÓMEZ AMIR JOSELEPH
     FLORES CAMPOS AMIR
Data Manipulation Language
(DML) Statements
• Lenguaje de manipulación de datos (DML) es un vocabulario que se
  utiliza para recuperar y trabajar con datos en SQL Server 2012.
  Utilice estas instrucciones para agregar, modificar, consultar o
  eliminar datos de una base de datos SQL Server.

• En la tabla siguiente se muestran las instrucciones DML que usa SQL
  Server.


        BULK INSERT (Transact-SQL)          SELECT (Transact-SQL)
          DELETE (Transact-SQL)             UPDATE (Transact-SQL)
          INSERT (Transact-SQL)           UPDATETEXT (Transact-SQL)
          MERGE (Transact-SQL)            WRITETEXT (Transact-SQL)
         READTEXT (Transact-SQL)
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           DELETE, INSERT, MERGE, SELECT,
              (Transact- 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.
Compatibilidad:

BULK INSERT aplica la validación de datos estricta y comprobaciones de
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 comprueba que:
• Las representaciones nativas de flotador o tipos de datos reales son
válidos.

• Los datos Unicode tienen una longitud de un byte.
Data Types

• String-to-Decimal de datos Conversiones de tipos

 Las conversiones de cadena a decimal de tipo de datos
 utilizados en BULK INSERT siguen las mismas reglas que la
 función CONVERT de Transact-SQL, que rechaza cadenas que
 representan valores numéricos que utilizan la notación
 científica. Por lo tanto, BULK INSERT trata a cadenas como
 valores no válidos y los informes de errores de conversión.
 Para evitar este comportamiento, utilice un archivo de
 formato para importación masiva de datos de notación
 científica flotador en una columna decimal. En el archivo de
 formato, describir explícitamente la columna como datos
 reales o float. Para obtener más información acerca de estos
 tipos de datos, vea float y real (Transact-SQL).
Tipos de datos para la Exportación o importación
masiva de SQL documentos XML.
Para la exportación a granel o datos SQLXML, utilice uno de
los siguientes tipos de datos en el archivo de formato:

                Data type                             Effect

        SQLCHAR or SQLVARYCHAR    The data is sent in the client code page or
                                  in the code page implied by the collation).
                                    The effect is the same as specifying the
                                  DATAFILETYPE ='char' without specifying a
                                                   format file.
       SQLNCHAR or SQLNVARCHAR     The data is sent as Unicode. The effect is
                                  the same as specifying the DATAFILETYPE =
                                   'widechar' without specifying a format file.

        SQLBINARY or SQLVARYBIN     The data is sent without any conversion.
Restricciones
Cuando se utiliza un archivo de formato con BULK INSERT, puede
especificar hasta 1024 sólo los campos. Esto es igual que el número
máximo de columnas permitidas en una tabla. Si utiliza BULK INSERT
con un archivo de datos que contiene más de 1024 campos, BULK
INSERT genera el error 4822. La utilidad bcp no tiene esta limitación,
por lo que para los archivos de datos que contienen más de 1024
campos, utilice el bcp comando.
DELETE
Elimina una o más filas de una tabla o vista de SQL Server 2012




Mejores Prácticas

Para eliminar todas las filas de una tabla, utilice TRUNCATE TABLE. TRUNCATE TABLE es
más rápida que DELETE y utiliza menos recursos del sistema y del registro de
transacciones.
CONTROL DE ERRORES
Se puede implementar el control de errores para la instrucción DELETE
especificando la declaración en un
Construcción TRY ... CATCH.

La instrucción DELETE puede fallar si se viola un gatillo o intenta quitar una fila
indicada por los datos de otra tabla con una restricción FOREIGN KEY. Si el
DELETE elimina varias filas, y cualquiera de las filas eliminadas viola un
desencadenador o restricción, la instrucción se cancela, se devuelve un error y
no hay filas se eliminan.
Cuando una instrucción DELETE encuentra un error aritmético
(desbordamiento, división por cero, o un error de dominio) al evaluar una
expresión, el motor de base de datos se encarga de estos errores como si SET
ARITHABORT es ON. El resto del lote se cancela, y un mensaje de error se
devuelve.
LIMITACIONES Y
RESTRICCIONES
Cuando se utiliza con TOP DELETE, las filas se hace referencia no están
dispuestos en cualquier orden y ORDER BY cláusula no se puede especificar
directamente en esta norma. Si usted necesita utilizar TOP para eliminar filas
en un orden cronológico significativo, debe utilizarla junto con una cláusula
ORDER BY en una instrucción de subselección. Vea la sección de ejemplos
que sigue en este tema.
TOP no se puede utilizar en una instrucción DELETE en contra de vistas con
particiones.
LA CAPTURA DE LOS RESULTADOS
DE LA INSTRUCCIÓN DELETE
A. Utilizar DELETE con la cláusula OUTPUT

El siguiente ejemplo muestra cómo guardar los resultados de una instrucción
DELETE para una variable de tabla.

   USE AdventureWorks2012; GO
   DELETE Sales.ShoppingCartItem

   OUTPUT DELETED.*

   25

   WHERE ShoppingCartID = 20621;


   --Verify the rows in the table matching the WHERE clause have been
   deleted.
   SELECT COUNT(*) AS [Rows in Table] FROM Sales.ShoppingCartItem
   WHERE ShoppingCartID =
   20621; GO
B. Usar OUTPUT con <from_table_name> en una instrucción DELETE

El ejemplo siguiente se eliminan las filas de la tabla ProductProductPhoto sobre la
base de criterios de búsqueda definidos en la cláusula FROM de la instrucción
DELETE. La cláusula OUTPUT devuelve columnas de la tabla que se elimina,
DELETED.ProductID, DELETED.ProductPhotoID, y las columnas de la tabla Product.
Esto se utiliza en la cláusula FROM para especificar las filas que desea eliminar.
USE AdventureWorks2012; GO
DECLARE @MyTableVar table ( ProductID int NOT NULL, ProductName
nvarchar(50)NOT NULL, ProductModelID int NOT NULL, PhotoID int
NOT NULL);

DELETE Production.ProductProductPhoto
OUTPUT DELETED.ProductID, p.Name, p.ProductModelID,
DELETED.ProductPhotoID
INTO @MyTableVar

FROM Production.ProductProductPhoto AS ph
JOIN Production.Product as p
ON ph.ProductID = p.ProductID

WHERE p.ProductModelID BETWEEN 120 and 130;


--Display the results of the table variable.

SELECT ProductID, ProductName, ProductModelID, PhotoID FROM
@MyTableVar
ORDER BY ProductModelID; GO
FROM
Especifica las tablas, vistas, tablas derivadas y tablas utilizadas en DELETE, SELECT y UPDATE de
SQL Server 2012. En la instrucción SELECT, la cláusula FROM es obligatoria excepto cuando la lista
de selección sólo contiene constantes, variables y expresiones aritméticas (sin nombres de
columna).


Observaciones

La cláusula FROM admite la sintaxis SQL-92-SQL para las tablas combinadas y las tablas derivadas.
SQL-92 proporciona la sintaxis INNER, LEFT OUTER, DERECHA EXTERIOR EXTERIOR COMPLETO, Y
Cruz operadores de combinación.
UNION y JOIN en la cláusula FROM se apoyan en opiniones y en tablas derivadas ni subconsultas.
Una autocombinación es una tabla que se une a sí mismo. Insertar o actualizar las operaciones que
se basan en una autocombinación seguir el orden en la cláusula FROM.
Dado que SQL Server considera la distribución y las estadísticas de cardinalidad de los servidores
vinculados que proporcionan estadísticas de distribución de columnas, la sugerencia de
combinación REMOTE no está obligado a forzar la evaluación de una unión remota. El procesador
de consultas de SQL Server considera estadísticas remotas y determina si una estrategia remoto
combinación es adecuada. DISTANCIA sugerencia de combinación es útil para los proveedores que
no ofrecen las estadísticas de distribución de columnas.
PERMISOS
Requiere los permisos para el DELETE, SELECT o UPDATE.
A. Utilizando un simple cláusula FROM               5 Southeast
                                                    6 Canadá
   El ejemplo siguiente recupera el TerritoryID y   7 Francia
   columnas Nombre de la tabla SalesTerritory       8 Alemania
   en la base de datos de ejemplo                   9 Australia
   AdventureWorks2012.                              10 Reino Unido
                                                    (10 fila (s) affected)
   USO AdventureWorks2012; GO
   SELECT TerritoryID, Nombre DE ORDEN POR
   Sales.SalesTerritory TerritoryID;

   Éste es el conjunto de resultados.

   Nombre TerritoryID
   -----------------------------------------
   1 Northwest
   2 noreste
   3 Central
   4 sudoeste
Hints
Las sugerencias son las opciones o estrategias específicas para la aplicación por el
procesador de consultas de SQL Server en SELECT, INSERT, UPDATE o DELETE. Las
sugerencias de anular cualquier plan de ejecución el optimizador de consultas puede
seleccionar para una consulta.




Join Hints


Sugerencias de combinación especifica que el optimizador de consultas de
ejecución de una estrategia de combinación entre dos tablas.
Debido a que el optimizador de consultas de SQL Server suele seleccionar el mejor
plan de ejecución para una consulta, se recomienda que las sugerencias,
incluyendo <join_hint>, debe utilizarse sólo como último recurso por
experimentados desarrolladores y administradores de bases de datos.
Query Hints

Las sugerencias de consulta especifica que las sugerencias indicadas, debe
utilizarse la consulta. Afectan a todos los operadores en el comunicado. Si la unión
está involucrado en la consulta principal, sólo la última consulta que implique una
operación UNION puede contener la cláusula OPTION. Las sugerencias de consulta
se especifican como parte de la cláusula OPTION. Si una o varias sugerencias de
consulta que el optimizador de consultas no genere un plan válido de error,
8622 se eleva.
Remarks

Las sugerencias de consulta no se puede especificar en una
sentencia INSERT excepto cuando hay una cláusula SELECT se
utiliza dentro de la instrucción.
Las sugerencias de consulta sólo se puede especificar en la
consulta de nivel superior, no en subconsultas. Cuando una
sugerencia de tabla se especifica como una sugerencia de
consulta, la sugerencia se puede especificar en la consulta de
nivel superior o en una subconsulta, sin embargo, el valor
especificado para exposed_object_name en la cláusula TABLE
HINT debe coincidir exactamente con el nombre expuesto en la
consulta o subconsulta .
Table Hints
Las sugerencias de tabla anular el comportamiento predeterminado del
optimizador de consultas para la duración del lenguaje de manipulación de datos
(DML) especificando un método de bloqueo, uno o varios índices, una consulta
de procesamiento de operación, como una exploración de tabla o Index Seek, u
otras opciones. Las sugerencias de tabla se especifican en la cláusula FROM de la
instrucción DML y afectan sólo a la tabla o vista hace referencia en dicha cláusula.


precaución
Debido a que el optimizador de consultas de SQL Server suele seleccionar el
mejor plan de ejecución para una consulta, se recomienda que utilicen las
sugerencias sólo como último recurso, por experimentados desarrolladores y
administradores de bases de datos.
Observaciones
Las sugerencias de tabla se ignora si la tabla no se accede por el plan de
consulta. Esto puede ser causado por el optimizador de elección de no
acceder a la tabla en absoluto, o porque una vista indizada se accede en su
lugar. En este último caso, el acceso a una vista indizada puede evitarse
mediante el OPTION (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 comprobaciones correspondientes de
bloqueo de consistencia.
Bloqueo de pistas ROWLOCK, UPDLOCK Y XLOCK que adquieren nivel de fila
puede colocar cerraduras en las claves de índice en lugar de las filas de datos
reales. Por ejemplo, si una tabla tiene un índice agrupado, y una instrucción
SELECT que utiliza una sugerencia de bloqueo es manejado por un índice de
cobertura, un bloqueo se adquiere la clave de índice en el índice de cobertura
en lugar de la fila de datos en la tabla base.
Usando NOEXPAND
NOEXPAND sólo se aplica a las vistas indizadas. Una vista indizada es una
vista con un índice agrupado único creado en él. Si una consulta contiene
referencias a columnas que están presentes tanto en una vista indizada y
tablas base, y el optimizador de consultas determina que el uso de la vista
indizada proporciona el mejor método para ejecutar la consulta, el
optimizador de consultas utiliza el índice de la vista. Esta función se
denomina coincidencia de vista indizada. Uso automático de vista
indizada por el optimizador de consultas sólo se admite en las ediciones
específicas de SQL Server. Para obtener una lista de características que
son compatibles con las ediciones de SQL Server, vea Características
compatibles con las ediciones de SQL Server 2012
(http://go.microsoft.com/fwlink/?linkid=232473).
Sin embargo, para que el optimizador considere las vistas indizadas para
la coincidencia, o utilizar una vista indizada que se hace referencia con la
sugerencia NOEXPAND, las siguientes opciones SET se debe establecer en
ON.
1 está implícitamente ARITHABORT en ON cuando ANSI_WARNINGS está
establecido en ON. Por lo tanto, usted no tiene que ajustar manualmente esta
configuración.
Además, la opción NUMERIC_ROUNDABORT se debe establecer en OFF.

Para forzar al optimizador a usar un índice para una vista indizada, especifique la
opción NOEXPAND. Esta receta se puede utilizar sólo si la vista es también el
nombre de la consulta. SQL Server no proporciona un indicio
para forzar un punto de vista particular indexado para ser utilizado en una
consulta que no nombra a la vista directamente en la
Cláusula FROM, sin embargo, el optimizador de consultas tiene en cuenta el uso
de vistas indizadas, aunque no se hace referencia directa en la consulta.

     ANSI_NULLS             ANSI_WARNINGS           CONCAT_NULL_YIELDS_NULL


   ANSI_PADDING               ARITHABORT1               QUOTED_IDENTIFIERS
Usando una sugerencia de tabla como una
sugerencia de consulta
Las sugerencias de tabla también se puede especificar como una sugerencia de
consulta mediante el OPTION (TABLE HINT) cláusula. Le recomendamos que utilice
una sugerencia de tabla como una sugerencia de consulta en el contexto de una
guía de plan. Para consultas ad-hoc, especifique estas sugerencias sólo como
sugerencias de tabla. Para obtener más información, vea Sugerencias de consulta
(Transact-SQL).


Permisos
El KEEPIDENTITY, IGNORE_CONSTRAINTS y sugerencias IGNORE_TRIGGERS
requieren ALTER
permisos en la tabla.
INSERT

Tipos de datos
Al insertar filas, considere el comportamiento tipo de datos siguientes:

• Si un valor se carga en columnas con un char, varchar o tipo de datos varbinary, el
relleno o truncamiento de los espacios en blanco finales (espacios para char y
varchar, ceros para varbinary) está determinada por la configuración de SET
ANSI_PADDING definida para la columna cuando se creó la tabla. Para obtener más
información, vea SET ANSI_PADDING (Transact-SQL).
La tabla siguiente muestra el funcionamiento predeterminado de SET
ANSI_PADDING OFF.
Data type              Default operation


                   Pad valor con espacios para el
char               ancho definido de la columna


                   Eliminar espacios finales hasta el
varchar            último carácter no-espacio o un
                   carácter de un solo espacio para
                   cadenas compuestas solamente de
                   espacios.

 varbinary
                        Eliminar los ceros finales.
Si una cadena vacía ("") se carga en una columna con un tipo varchar o texto de
datos, la operación predeterminada es cargar una cadena de longitud cero.
• La inserción de un valor nulo en una columna de texto o la imagen no se crea
un puntero de texto válido, ni asignar previamente una página de texto de 8 KB.
• Las columnas creadas con el tipo de datos uniqueidentifier tienda con formato
especial de 16 bytes valores binarios. A diferencia de las columnas de
identidad, el motor de base de datos no genera automáticamente valores de
columnas con el tipo de datos uniqueidentifier. Durante una operación de
inserción, las variables con un tipo de datos uniqueidentifier y constantes de
cadena con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (36
caracteres, incluyendo guiones, donde x es un dígito hexadecimal en el rango de
0-9 o af) puede ser para las columnas uniqueidentifier. Por ejemplo, 6F9619FF-
8B86-D011-B42D-00C04FC964FF es un valor válido para una variable o columna
uniqueidentifier. Utilice la función NEWID () para obtener un identificador único
global (GUID).
Control de errores
Puede implementar el manejo de errores para la instrucción INSERT especificando la
declaración en un
Construcción TRY ... CATCH.

Si una sentencia INSERT infringe una restricción o regla, o si tiene un valor incompatible con el
tipo de datos de la columna, el comando falla y aparece un mensaje de error se devuelve.
Si está cargando INSERT de varias filas con SELECT o EXECUTE, toda violación de una regla o
restricción que se produce a partir de los valores que se cargan provoca que la instrucción se
detuvo y no se carguen filas.
Cuando una sentencia INSERT encuentra un error aritmético (desbordamiento, división por
cero, o un error de dominio) al evaluar una expresión, el motor de base de datos se encarga
de estos errores como si
SET ARITHABORT se establece en ON. La carga se detiene y aparece un mensaje de error se
devuelve. durante
evaluar una expresión con SET ARITHABORT y SET ANSI_WARNINGS es OFF, si una instrucción
INSERT, DELETE o UPDATE encuentra un error aritmético, desbordamiento, división por cero,
o un error de dominio, SQL Server inserta o actualiza un valor NULL. Si la columna de destino
no es anulable, la acción de inserción o actualización falla y el usuario recibe un error.
MERGE
Realiza inserción, actualización o eliminación en una tabla de destino en
función de los resultados de una combinación con 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.


Permisos

Requiere el permiso SELECT en la tabla de origen y INSERT, UPDATE o DELETE
sobre la tabla de destino. Para obtener información adicional, consulte la
sección Permisos en el SELECT, INSERT, UPDATE y DELETE temas.
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.Modified
Date
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.
OUTPUT Clause
• Devuelve información de, o expresiones basadas en, cada fila
  afectada por una instrucción INSERT, UPDATE, DELETE o
  MERGE. Estos resultados pueden ser devueltos a la aplicación
  de procesamiento para su uso en cosas tales como mensajes
  de confirmación, archivos, y otros requisitos de aplicación
  tales. Los resultados también se puede insertar en una tabla o
  una variable de tabla. Además, puede capturar los resultados
  de una cláusula OUTPUT en una instrucción anidada INSERT,
  UPDATE, DELETE o MERGE, e insertar los resultados en una
  tabla o vista de destino.
• Tipos de datos
 La cláusula OUTPUT admite los tipos de datos de objetos
 grandes: nvarchar (max), varchar (max), varbinary (max), text,
 ntext, image, xml y. Cuando se utiliza el. WRITE en la
 instrucción UPDATE para modificar un nvarchar (max), varchar
 (max) o varbinary (max), el total antes y después de las
 imágenes de los valores se devuelven si se hace referencia. El
 TEXTPTR () no puede aparecer como parte de una expresión
 en un texto, ntext o columna de imagen en la salida
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.
Permisos
Selección de datos requiere el permiso SELECT en la tabla
o vista, lo que podría ser heredado de un ámbito superior
como el permiso SELECT en el esquema o permiso
CONTROL en la tabla. ¿O es necesario pertenecer a la
db_datareader o roles db_owner fija de base de datos, o el
rol fijo de servidor sysadmin. Creación de una nueva tabla
con SELECTINTO también requiere el permiso CreateTable,
y el permiso ALTERSCHEMA en el esquema al que
pertenece la nueva tabla.
Group By
• Agrupa un conjunto seleccionado de filas en un conjunto de filas de
  resumen de los valores de una o más columnas o expresiones en
  SQL Server 2012. Se devuelve una fila para cada grupo. Las
  funciones de agregado en la cláusula SELECT lista SELECT
  proporcionar información acerca de cada grupo en lugar de filas
  individuales.
  La cláusula GROUP BY tiene una sintaxis compatible con ISO y una
  sintaxis no ISO-compliant. Sólo un estilo de sintaxis puede utilizarse
  en una sola instrucción SELECT. Utilice la sintaxis compatible con ISO
  para toda nueva obra. La sintaxis no compatible con ISO se
  proporciona por compatibilidad con versiones anteriores.
  En este tema, una cláusula GROUP BY se puede describir como
  general o simple:
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, CUBE CON O CON ROLLUP. GROUP BY (), total
general, se considera un simple GROUP BY.
HAVING

Especifica una condición de búsqueda para un grupo o un
agregado. HABIENDO sólo se puede utilizar con la instrucción
SELECT. HABIENDO se suele utilizar en una cláusula GROUP BY.
Cuando GROUP BY no se utiliza, HABIENDO se comporta como
una cláusula WHERE.
INTO Clause

• SELECT ... INTO crea una nueva tabla en el grupo de archivos
  predeterminado e inserta las filas resultantes de la consulta en
  el mismo. Para ver la sintaxis completa SELECT, vea SELECT
  (Transact-SQL).

 Permisos

 Requiere el permiso CREATE TABLE en la base de datos de destino.
ORDER BY Clause
Ordena los datos devueltos por una consulta en SQL
Server 2012. Utilice esta cláusula para:

• Ordenar el conjunto de resultados de una consulta de la
lista de columnas especificado y, opcionalmente, limitar
las filas devueltas a un rango especificado. El orden en
que se devuelven filas en un conjunto de resultados no
están garantizados 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.
Interoperabilidad
Cuando se utiliza con un SELECT ... INTO para insertar filas
de otra fuente, el ORDER BY
cláusula no garantiza que las filas se inserten en el orden
especificado.

Usando OFFSET y FETCH en una vista no cambia la
propiedad Updateability de la vista.
Limitaciones y restricciones
No hay límite al número de columnas de la cláusula ORDER BY, sin
embargo, el tamaño total de las columnas especificadas en una cláusula
ORDER BY no puede superar los 8.060 bytes.
Las columnas de tipo ntext, text, image, geografía, geometría y xml no se
pueden utilizar en un
Cláusula ORDER BY.

Un entero o una constante no se puede especificar cuando
order_by_expression aparece en una función de categoría. Para obtener
más información, vea OVER (cláusula de Transact-SQL).
Si el nombre de la tabla tiene un alias en la cláusula FROM, sólo el nombre
de alias se puede utilizar para calificar a sus columnas de la cláusula
ORDER BY.
Los nombres de columnas y alias especificados en la cláusula ORDER BY se
debe definir en la lista de selección si la instrucción SELECT contiene una de las
siguientes cláusulas u operadores:
• UNIÓN operador

• EXCEPT
• INTERSECT operador
• SELECT DISTINCT

Además, cuando la declaración incluye un operador UNION, EXCEPT o
INTERSECT operador, los nombres de columna o alias de columna se debe
especificar en la lista de selección de la primera (izquierda) de la consulta.
En una consulta que use UNION, EXCEPT o INTERSECT, ORDER BY se permite
sólo al final de la declaración. Esta restricción se aplica sólo a cuando se
especifica UNION, EXCEPT e INTERSECT en una consulta de nivel superior y no
en una subconsulta. Véase la sección de ejemplos que sigue.
La cláusula ORDER BY no es válida en vistas, funciones insertadas, tablas
derivadas ni subconsultas, a menos que la parte superior o cláusulas OFFSET y
FETCH también se especifican. Cuando ORDER BY es
utilizada en estos objetos, la cláusula sólo se utiliza para determinar las filas
devueltas por la cláusula TOP
O OFFSET y FETCH cláusulas. La cláusula ORDER BY no
garantiza resultados ordenados cuando estas
construcciones se consultan, a menos ORDER BY también se
especifica en la propia consulta.
OFFSET y FETCH no son compatibles con las vistas indizadas
o en una vista que se define mediante la VER cláusula
OPTION.
OVER Clause

Determina la partición y el ordenamiento de un conjunto
de filas antes de la función de ventana asociado se aplica.
Es decir, la cláusula OVER define una ventana o
especificado por el usuario conjunto de filas dentro de un
conjunto de resultados de consulta. Una función de
ventana se calcula un valor para cada fila de la ventana.
Puede utilizar la cláusula OVER con funciones para calcular
valores agregados tales como medias móviles, agregados
acumulativos, totales acumulados, o un grupo de los
mejores resultados por N.
Limitaciones y restricciones
La cláusula OVER no se puede utilizar con la función de agregado
CHECKSUM.

RANGO no se puede utilizar con specification> <unsigned valor
anterior o siguiente <unsigned valor specification>.
Dependiendo de la función de categoría, agregar, o analítico
utilizar con la cláusula OVER, <Order POR clause> y / o los
<ROWS y clause> rango no puede ser apoyada.
Table Value Constructor
Especifica un conjunto de expresiones de valor de
fila para ser construidos en una tabla. El constructor
de tabla de Transact-SQL valor permite que varias
filas de datos que se especifica en una instrucción
DML único. El constructor con valores de tabla puede
ser especificado en la cláusula VALUES de la
instrucción INSERT, en la cláusula <tabla origen> USO
de la instrucción MERGE, y en la definición de una
tabla derivada en la cláusula FROM.
TOP
• Limita las filas devueltas en un resultado de consulta
  establecido en un número especificado de filas o porcentaje
  de filas en SQL Server 2012. Cuando TOP se utiliza en
  conjunción con la cláusula ORDER BY, el conjunto de
  resultados se limita a la primera número N de filas ordenadas,
  de lo contrario, se devuelve el primer número N de filas
  aleatorias. Utilice esta cláusula para especificar el número de
  filas devueltas por una instrucción SELECT o afectadas por una
  instrucción INSERT, UPDATE, MERGE o DELETE.
con la Asistencia

Para la compatibilidad con versiones anteriores, los
paréntesis son opcionales en instrucciones SELECT. Le
recomendamos que utilice siempre paréntesis para TOP
en sentencias SELECT para mantener la coherencia con su
uso requerido en las instrucciones
INSERT, UPDATE, MERGE y DELETE en la que los paréntesis
son necesarios.
Limitaciones y restricciones
Cuando se utiliza con TOP INSERT, UPDATE, MERGE o DELETE, las filas
se hace referencia no están dispuestos en cualquier orden y ORDER BY
cláusula no se puede especificar directamente en estas declaraciones.
Si usted necesita utilizar TOP para insertar, eliminar o modificar las
filas en un orden cronológico significativo, debe utilizarla junto con una
cláusula ORDER BY que se especifica en una instrucción de
subselección. Vea la sección de ejemplos que sigue en este tema.
TOP no se puede utilizar en una instrucción UPDATE y DELETE en vistas
con particiones.

TOP no se puede combinar con OFFSET y FETCH en la misma expresión
de consulta (en el ámbito de la consulta misma). Para obtener más
información, vea ORDER BY (cláusula de Transact-SQL).
UPDATE
Los cambios de datos existentes en una tabla o vista de SQL
Server 2012. Para ejemplos, vea Ejemplos.
Con la Asistencia
Soporte para el uso de los NOLOCK
READUNCOMMITTED y en la cláusula FROM que se
aplican a la tabla de destino de una instrucción UPDATE
o DELETE se quitará en una versión futura de SQL
Server. Evite el uso de estos consejos en este contexto
en nuevos trabajos de desarrollo y piense en modificar
las aplicaciones que actualmente la utilizan.
Tipos de datos
Todas las columnas char y nchar se haga con relleno a la longitud definida.

Si ANSI_PADDING se establece en OFF, todos los espacios finales se eliminan
de los datos insertados en las columnas varchar y nvarchar, excepto en
cadenas que contienen sólo espacios. Estas cadenas se truncan a una cadena
vacía. Si ANSI_PADDING se establece en ON, los espacios finales se insertan.
El SQL Microsoft
Servidor controlador ODBC y el proveedor OLE DB para SQL Server
establecen automáticamente ANSI_PADDING EN

para cada conexión. Esto se puede configurar en orígenes de datos ODBC o
mediante atributos o propiedades de conexión. Para obtener más
información, vea SET ANSI_PADDING (Transact-SQL).
La captura de los resultados de la instrucción
UPDATE
Los ejemplos de esta sección muestran cómo utilizar la cláusula
OUTPUT para devolver información de, o expresiones basadas en
cada fila afectada por una instrucción UPDATE. Estos resultados
pueden ser devueltos a la aplicación de procesamiento para su uso
en cosas tales como mensajes de confirmación, archivos, y otros
requisitos de aplicación tales.
UPDATETEXT
Actualiza un texto existente, ntext o campo de imagen. Utilice
UPDATETEXT para cambiar sólo una parte de un texto, ntext o
columna de imagen en su lugar. Utilice WRITETEXT para
actualizar y reemplazar un texto, ntext o campo de imagen.

Permisos

Requiere el permiso UPDATE en la tabla especificada.
WHERE
• Especifica la condición de búsqueda de las filas devueltas por
  la consulta.
WITH
common_table_expression
• Especifica un conjunto con nombre temporal
  resultado, conocido como una expresión de tabla común
  (CTE). Esto se deriva de una consulta simple y se define en el
  ámbito de ejecución de una sola instrucción
  SELECT, INSERT, UPDATE o DELETE. Esta cláusula también se
  puede utilizar en una instrucción CREATE VIEW, como parte de
  su instrucción SELECT que define. Una expresión de tabla
  común pueden incluir referencias a sí mismo. Esto se conoce
  como una expresión de tabla común recursiva
WRITETEXT
• Permite el registro mínimo, la actualización interactiva de un
  texto existente, ntext o columna de imagen. WRITETEXT
  sobrescribe los datos existentes en la columna afectada.
  WRITETEXT no se puede utilizar
  en las columnas text, ntext e image en las vistas.


• Permisos
  Requiere el permiso UPDATE en la tabla especificada. El
  permiso es transferible cuando ACTUALIZAR
  permiso se transfiere.
Transact-SQL Syntax
Conventions
• En la tabla siguiente se enumeran y describen las
  convenciones que se utilizan en los diagramas de
  sintaxis en la


 Transact-SQL Reference.

Más contenido relacionado

La actualidad más candente (20)

Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
 
MANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQLMANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQL
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
Unidad 2-lenguaje-sql
Unidad 2-lenguaje-sqlUnidad 2-lenguaje-sql
Unidad 2-lenguaje-sql
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sql
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
 
Sql server 2014 básico
Sql server 2014 básicoSql server 2014 básico
Sql server 2014 básico
 
Lenguaje Transact SQL
Lenguaje Transact SQL Lenguaje Transact SQL
Lenguaje Transact SQL
 
Sql 2010
Sql 2010Sql 2010
Sql 2010
 
1. introduccion a transact-sql
1.  introduccion a transact-sql1.  introduccion a transact-sql
1. introduccion a transact-sql
 
SENTENCIAS SQL
SENTENCIAS SQL SENTENCIAS SQL
SENTENCIAS SQL
 
Cliente servidor consultas sql
Cliente servidor consultas sqlCliente servidor consultas sql
Cliente servidor consultas sql
 
TRANSACT-SQL
TRANSACT-SQLTRANSACT-SQL
TRANSACT-SQL
 
Comandos, sentencias, clausulas
Comandos, sentencias, clausulasComandos, sentencias, clausulas
Comandos, sentencias, clausulas
 
Sql
SqlSql
Sql
 
Seleccion de datos_sql_2005
Seleccion de datos_sql_2005Seleccion de datos_sql_2005
Seleccion de datos_sql_2005
 
SQL
SQLSQL
SQL
 

Destacado

Trabajando con datos Compuestos
Trabajando con datos CompuestosTrabajando con datos Compuestos
Trabajando con datos CompuestosMartin Coronel
 
Descubriendo los datos espaciales en SQL Server
Descubriendo los datos espaciales en SQL ServerDescubriendo los datos espaciales en SQL Server
Descubriendo los datos espaciales en SQL ServerSpanishPASSVC
 
WorkShop Desarrollo con SQL Server 2008
WorkShop Desarrollo con SQL Server 2008WorkShop Desarrollo con SQL Server 2008
WorkShop Desarrollo con SQL Server 2008John Bulla
 
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL ServerJohn Bulla
 
Sql server data tools la nueva generación de herramientas de desarrollo de ba...
Sql server data tools la nueva generación de herramientas de desarrollo de ba...Sql server data tools la nueva generación de herramientas de desarrollo de ba...
Sql server data tools la nueva generación de herramientas de desarrollo de ba...John Bulla
 
Servicios de datos en Microsoft Azure
Servicios de datos en Microsoft AzureServicios de datos en Microsoft Azure
Servicios de datos en Microsoft AzureJohn Bulla
 
CloudCamp - Big Data – La revolución de los datos
CloudCamp - Big Data – La revolución de los datosCloudCamp - Big Data – La revolución de los datos
CloudCamp - Big Data – La revolución de los datosJohn Bulla
 
Tipos de datos. Ejercicios en SQL Server
Tipos de datos. Ejercicios en SQL ServerTipos de datos. Ejercicios en SQL Server
Tipos de datos. Ejercicios en SQL Serverjcalvopa
 
Curso sql server 2012 clase 3
Curso sql server 2012 clase 3Curso sql server 2012 clase 3
Curso sql server 2012 clase 3josealopezpastor
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresEnrique Catala Bañuls
 
Tipos de datos. Ejercicios en SQLServer
Tipos de datos. Ejercicios en SQLServerTipos de datos. Ejercicios en SQLServer
Tipos de datos. Ejercicios en SQLServerjcalvopa
 
Introducción a U-SQL lenguaje que hace fácil el procesamiento de Big Data
Introducción a U-SQL lenguaje que hace fácil el procesamiento de Big DataIntroducción a U-SQL lenguaje que hace fácil el procesamiento de Big Data
Introducción a U-SQL lenguaje que hace fácil el procesamiento de Big DataJohn Bulla
 
MS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresMS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresJoseph Lopez
 
Inteligencia de Negocios con Microsoft
Inteligencia de Negocios con MicrosoftInteligencia de Negocios con Microsoft
Inteligencia de Negocios con MicrosoftJohn Bulla
 
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?John Bulla
 
Como crear aplicaciones de bases de datos con MS SQL Server 2012
Como crear aplicaciones de bases de datos con MS SQL Server 2012Como crear aplicaciones de bases de datos con MS SQL Server 2012
Como crear aplicaciones de bases de datos con MS SQL Server 2012Joseph Lopez
 
Administración y programación en sql server
Administración y programación en sql serverAdministración y programación en sql server
Administración y programación en sql serverIsabel_Samir
 

Destacado (18)

Trabajando con datos Compuestos
Trabajando con datos CompuestosTrabajando con datos Compuestos
Trabajando con datos Compuestos
 
Descubriendo los datos espaciales en SQL Server
Descubriendo los datos espaciales en SQL ServerDescubriendo los datos espaciales en SQL Server
Descubriendo los datos espaciales en SQL Server
 
Merge Sort
Merge SortMerge Sort
Merge Sort
 
WorkShop Desarrollo con SQL Server 2008
WorkShop Desarrollo con SQL Server 2008WorkShop Desarrollo con SQL Server 2008
WorkShop Desarrollo con SQL Server 2008
 
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
 
Sql server data tools la nueva generación de herramientas de desarrollo de ba...
Sql server data tools la nueva generación de herramientas de desarrollo de ba...Sql server data tools la nueva generación de herramientas de desarrollo de ba...
Sql server data tools la nueva generación de herramientas de desarrollo de ba...
 
Servicios de datos en Microsoft Azure
Servicios de datos en Microsoft AzureServicios de datos en Microsoft Azure
Servicios de datos en Microsoft Azure
 
CloudCamp - Big Data – La revolución de los datos
CloudCamp - Big Data – La revolución de los datosCloudCamp - Big Data – La revolución de los datos
CloudCamp - Big Data – La revolución de los datos
 
Tipos de datos. Ejercicios en SQL Server
Tipos de datos. Ejercicios en SQL ServerTipos de datos. Ejercicios en SQL Server
Tipos de datos. Ejercicios en SQL Server
 
Curso sql server 2012 clase 3
Curso sql server 2012 clase 3Curso sql server 2012 clase 3
Curso sql server 2012 clase 3
 
Novedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladoresNovedades SQL Server 2012 para desarrolladores
Novedades SQL Server 2012 para desarrolladores
 
Tipos de datos. Ejercicios en SQLServer
Tipos de datos. Ejercicios en SQLServerTipos de datos. Ejercicios en SQLServer
Tipos de datos. Ejercicios en SQLServer
 
Introducción a U-SQL lenguaje que hace fácil el procesamiento de Big Data
Introducción a U-SQL lenguaje que hace fácil el procesamiento de Big DataIntroducción a U-SQL lenguaje que hace fácil el procesamiento de Big Data
Introducción a U-SQL lenguaje que hace fácil el procesamiento de Big Data
 
MS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresMS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladores
 
Inteligencia de Negocios con Microsoft
Inteligencia de Negocios con MicrosoftInteligencia de Negocios con Microsoft
Inteligencia de Negocios con Microsoft
 
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
Expert Day 2013 - ¿Y Las Bases de Datos en Azure?
 
Como crear aplicaciones de bases de datos con MS SQL Server 2012
Como crear aplicaciones de bases de datos con MS SQL Server 2012Como crear aplicaciones de bases de datos con MS SQL Server 2012
Como crear aplicaciones de bases de datos con MS SQL Server 2012
 
Administración y programación en sql server
Administración y programación en sql serverAdministración y programación en sql server
Administración y programación en sql server
 

Similar a Expo (20)

Abf leccion 18
Abf leccion 18Abf leccion 18
Abf leccion 18
 
Presentacion 4 unidad
Presentacion 4 unidadPresentacion 4 unidad
Presentacion 4 unidad
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transact
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transact
 
8 Guía_Fundamentos de Base de Datos (2).docx
8 Guía_Fundamentos de Base de Datos (2).docx8 Guía_Fundamentos de Base de Datos (2).docx
8 Guía_Fundamentos de Base de Datos (2).docx
 
Sentencias Sql
Sentencias SqlSentencias Sql
Sentencias Sql
 
BD_L8_EXP_ROZIC_CAP9_SQL
BD_L8_EXP_ROZIC_CAP9_SQLBD_L8_EXP_ROZIC_CAP9_SQL
BD_L8_EXP_ROZIC_CAP9_SQL
 
Luis cepeda
Luis cepedaLuis cepeda
Luis cepeda
 
Manejo De Sentencias De Definicion
Manejo De Sentencias De DefinicionManejo De Sentencias De Definicion
Manejo De Sentencias De Definicion
 
Fundamentos sql
Fundamentos sqlFundamentos sql
Fundamentos sql
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Tutorial SQL
Tutorial SQLTutorial SQL
Tutorial SQL
 
Sentencia select
Sentencia selectSentencia select
Sentencia select
 
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosAdministración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
 
Base de datos - Clase 2
Base de datos - Clase 2Base de datos - Clase 2
Base de datos - Clase 2
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Data werehousing
Data werehousingData werehousing
Data werehousing
 
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
 
Tutorial sql
Tutorial sqlTutorial sql
Tutorial sql
 

Último

Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 

Último (20)

Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 

Expo

  • 1. EQUIPO 8 INTEGRANTES: LAYNA LÓPEZ JESÚS ANDRÉS ESPINOSA GÓMEZ AMIR JOSELEPH FLORES CAMPOS AMIR
  • 2. Data Manipulation Language (DML) Statements • Lenguaje de manipulación de datos (DML) es un vocabulario que se utiliza para recuperar y trabajar con datos en SQL Server 2012. Utilice estas instrucciones para agregar, modificar, consultar o eliminar datos de una base de datos SQL Server. • En la tabla siguiente se muestran las instrucciones DML que usa SQL Server. BULK INSERT (Transact-SQL) SELECT (Transact-SQL) DELETE (Transact-SQL) UPDATE (Transact-SQL) INSERT (Transact-SQL) UPDATETEXT (Transact-SQL) MERGE (Transact-SQL) WRITETEXT (Transact-SQL) READTEXT (Transact-SQL)
  • 3. 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 DELETE, INSERT, MERGE, SELECT, (Transact- SQL) UPDATE
  • 4. BULK INSERT • Importa un archivo de datos en una tabla o vista de base de datos en un formato especificado por el usuario. Compatibilidad: BULK INSERT aplica la validación de datos estricta y comprobaciones de 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 comprueba que: • Las representaciones nativas de flotador o tipos de datos reales son válidos. • Los datos Unicode tienen una longitud de un byte.
  • 5. Data Types • String-to-Decimal de datos Conversiones de tipos Las conversiones de cadena a decimal de tipo de datos utilizados en BULK INSERT siguen las mismas reglas que la función CONVERT de Transact-SQL, que rechaza cadenas que representan valores numéricos que utilizan la notación científica. Por lo tanto, BULK INSERT trata a cadenas como valores no válidos y los informes de errores de conversión. Para evitar este comportamiento, utilice un archivo de formato para importación masiva de datos de notación científica flotador en una columna decimal. En el archivo de formato, describir explícitamente la columna como datos reales o float. Para obtener más información acerca de estos tipos de datos, vea float y real (Transact-SQL).
  • 6. Tipos de datos para la Exportación o importación masiva de SQL documentos XML. Para la exportación a granel o datos SQLXML, utilice uno de los siguientes tipos de datos en el archivo de formato: Data type Effect SQLCHAR or SQLVARYCHAR The data is sent in the client code page or in the code page implied by the collation). The effect is the same as specifying the DATAFILETYPE ='char' without specifying a format file. SQLNCHAR or SQLNVARCHAR The data is sent as Unicode. The effect is the same as specifying the DATAFILETYPE = 'widechar' without specifying a format file. SQLBINARY or SQLVARYBIN The data is sent without any conversion.
  • 7. Restricciones Cuando se utiliza un archivo de formato con BULK INSERT, puede especificar hasta 1024 sólo los campos. Esto es igual que el número máximo de columnas permitidas en una tabla. Si utiliza BULK INSERT con un archivo de datos que contiene más de 1024 campos, BULK INSERT genera el error 4822. La utilidad bcp no tiene esta limitación, por lo que para los archivos de datos que contienen más de 1024 campos, utilice el bcp comando.
  • 8. DELETE Elimina una o más filas de una tabla o vista de SQL Server 2012 Mejores Prácticas Para eliminar todas las filas de una tabla, utilice TRUNCATE TABLE. TRUNCATE TABLE es más rápida que DELETE y utiliza menos recursos del sistema y del registro de transacciones.
  • 9. CONTROL DE ERRORES Se puede implementar el control de errores para la instrucción DELETE especificando la declaración en un Construcción TRY ... CATCH. La instrucción DELETE puede fallar si se viola un gatillo o intenta quitar una fila indicada por los datos de otra tabla con una restricción FOREIGN KEY. Si el DELETE elimina varias filas, y cualquiera de las filas eliminadas viola un desencadenador o restricción, la instrucción se cancela, se devuelve un error y no hay filas se eliminan. Cuando una instrucción DELETE encuentra un error aritmético (desbordamiento, división por cero, o un error de dominio) al evaluar una expresión, el motor de base de datos se encarga de estos errores como si SET ARITHABORT es ON. El resto del lote se cancela, y un mensaje de error se devuelve.
  • 10. LIMITACIONES Y RESTRICCIONES Cuando se utiliza con TOP DELETE, las filas se hace referencia no están dispuestos en cualquier orden y ORDER BY cláusula no se puede especificar directamente en esta norma. Si usted necesita utilizar TOP para eliminar filas en un orden cronológico significativo, debe utilizarla junto con una cláusula ORDER BY en una instrucción de subselección. Vea la sección de ejemplos que sigue en este tema. TOP no se puede utilizar en una instrucción DELETE en contra de vistas con particiones.
  • 11. LA CAPTURA DE LOS RESULTADOS DE LA INSTRUCCIÓN DELETE A. Utilizar DELETE con la cláusula OUTPUT El siguiente ejemplo muestra cómo guardar los resultados de una instrucción DELETE para una variable de tabla. USE AdventureWorks2012; GO DELETE Sales.ShoppingCartItem OUTPUT DELETED.* 25 WHERE ShoppingCartID = 20621; --Verify the rows in the table matching the WHERE clause have been deleted. SELECT COUNT(*) AS [Rows in Table] FROM Sales.ShoppingCartItem WHERE ShoppingCartID = 20621; GO
  • 12. B. Usar OUTPUT con <from_table_name> en una instrucción DELETE El ejemplo siguiente se eliminan las filas de la tabla ProductProductPhoto sobre la base de criterios de búsqueda definidos en la cláusula FROM de la instrucción DELETE. La cláusula OUTPUT devuelve columnas de la tabla que se elimina, DELETED.ProductID, DELETED.ProductPhotoID, y las columnas de la tabla Product. Esto se utiliza en la cláusula FROM para especificar las filas que desea eliminar. USE AdventureWorks2012; GO DECLARE @MyTableVar table ( ProductID int NOT NULL, ProductName nvarchar(50)NOT NULL, ProductModelID int NOT NULL, PhotoID int NOT NULL); DELETE Production.ProductProductPhoto OUTPUT DELETED.ProductID, p.Name, p.ProductModelID, DELETED.ProductPhotoID INTO @MyTableVar FROM Production.ProductProductPhoto AS ph JOIN Production.Product as p ON ph.ProductID = p.ProductID WHERE p.ProductModelID BETWEEN 120 and 130; --Display the results of the table variable. SELECT ProductID, ProductName, ProductModelID, PhotoID FROM @MyTableVar ORDER BY ProductModelID; GO
  • 13. FROM Especifica las tablas, vistas, tablas derivadas y tablas utilizadas en DELETE, SELECT y UPDATE de SQL Server 2012. En la instrucción SELECT, la cláusula FROM es obligatoria excepto cuando la lista de selección sólo contiene constantes, variables y expresiones aritméticas (sin nombres de columna). Observaciones La cláusula FROM admite la sintaxis SQL-92-SQL para las tablas combinadas y las tablas derivadas. SQL-92 proporciona la sintaxis INNER, LEFT OUTER, DERECHA EXTERIOR EXTERIOR COMPLETO, Y Cruz operadores de combinación. UNION y JOIN en la cláusula FROM se apoyan en opiniones y en tablas derivadas ni subconsultas. Una autocombinación es una tabla que se une a sí mismo. Insertar o actualizar las operaciones que se basan en una autocombinación seguir el orden en la cláusula FROM. Dado que SQL Server considera la distribución y las estadísticas de cardinalidad de los servidores vinculados que proporcionan estadísticas de distribución de columnas, la sugerencia de combinación REMOTE no está obligado a forzar la evaluación de una unión remota. El procesador de consultas de SQL Server considera estadísticas remotas y determina si una estrategia remoto combinación es adecuada. DISTANCIA sugerencia de combinación es útil para los proveedores que no ofrecen las estadísticas de distribución de columnas.
  • 14. PERMISOS Requiere los permisos para el DELETE, SELECT o UPDATE. A. Utilizando un simple cláusula FROM 5 Southeast 6 Canadá El ejemplo siguiente recupera el TerritoryID y 7 Francia columnas Nombre de la tabla SalesTerritory 8 Alemania en la base de datos de ejemplo 9 Australia AdventureWorks2012. 10 Reino Unido (10 fila (s) affected) USO AdventureWorks2012; GO SELECT TerritoryID, Nombre DE ORDEN POR Sales.SalesTerritory TerritoryID; Éste es el conjunto de resultados. Nombre TerritoryID ----------------------------------------- 1 Northwest 2 noreste 3 Central 4 sudoeste
  • 15. Hints Las sugerencias son las opciones o estrategias específicas para la aplicación por el procesador de consultas de SQL Server en SELECT, INSERT, UPDATE o DELETE. Las sugerencias de anular cualquier plan de ejecución el optimizador de consultas puede seleccionar para una consulta. Join Hints Sugerencias de combinación especifica que el optimizador de consultas de ejecución de una estrategia de combinación entre dos tablas. Debido a que el optimizador de consultas de SQL Server suele seleccionar el mejor plan de ejecución para una consulta, se recomienda que las sugerencias, incluyendo <join_hint>, debe utilizarse sólo como último recurso por experimentados desarrolladores y administradores de bases de datos.
  • 16. Query Hints Las sugerencias de consulta especifica que las sugerencias indicadas, debe utilizarse la consulta. Afectan a todos los operadores en el comunicado. Si la unión está involucrado en la consulta principal, sólo la última consulta que implique una operación UNION puede contener la cláusula OPTION. Las sugerencias de consulta se especifican como parte de la cláusula OPTION. Si una o varias sugerencias de consulta que el optimizador de consultas no genere un plan válido de error, 8622 se eleva.
  • 17. Remarks Las sugerencias de consulta no se puede especificar en una sentencia INSERT excepto cuando hay una cláusula SELECT se utiliza dentro de la instrucción. Las sugerencias de consulta sólo se puede especificar en la consulta de nivel superior, no en subconsultas. Cuando una sugerencia de tabla se especifica como una sugerencia de consulta, la sugerencia se puede especificar en la consulta de nivel superior o en una subconsulta, sin embargo, el valor especificado para exposed_object_name en la cláusula TABLE HINT debe coincidir exactamente con el nombre expuesto en la consulta o subconsulta .
  • 18. Table Hints Las sugerencias de tabla anular el comportamiento predeterminado del optimizador de consultas para la duración del lenguaje de manipulación de datos (DML) especificando un método de bloqueo, uno o varios índices, una consulta de procesamiento de operación, como una exploración de tabla o Index Seek, u otras opciones. Las sugerencias de tabla se especifican en la cláusula FROM de la instrucción DML y afectan sólo a la tabla o vista hace referencia en dicha cláusula. precaución Debido a que el optimizador de consultas de SQL Server suele seleccionar el mejor plan de ejecución para una consulta, se recomienda que utilicen las sugerencias sólo como último recurso, por experimentados desarrolladores y administradores de bases de datos.
  • 19. Observaciones Las sugerencias de tabla se ignora si la tabla no se accede por el plan de consulta. Esto puede ser causado por el optimizador de elección de no acceder a la tabla en absoluto, o porque una vista indizada se accede en su lugar. En este último caso, el acceso a una vista indizada puede evitarse mediante el OPTION (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 comprobaciones correspondientes de bloqueo de consistencia. Bloqueo de pistas ROWLOCK, UPDLOCK Y XLOCK que adquieren nivel de fila puede colocar cerraduras en las claves de índice en lugar de las filas de datos reales. Por ejemplo, si una tabla tiene un índice agrupado, y una instrucción SELECT que utiliza una sugerencia de bloqueo es manejado por un índice de cobertura, un bloqueo se adquiere la clave de índice en el índice de cobertura en lugar de la fila de datos en la tabla base.
  • 20. Usando NOEXPAND NOEXPAND sólo se aplica a las vistas indizadas. Una vista indizada es una vista con un índice agrupado único creado en él. Si una consulta contiene referencias a columnas que están presentes tanto en una vista indizada y tablas base, y el optimizador de consultas determina que el uso de la vista indizada proporciona el mejor método para ejecutar la consulta, el optimizador de consultas utiliza el índice de la vista. Esta función se denomina coincidencia de vista indizada. Uso automático de vista indizada por el optimizador de consultas sólo se admite en las ediciones específicas de SQL Server. Para obtener una lista de características que son compatibles con las ediciones de SQL Server, vea Características compatibles con las ediciones de SQL Server 2012 (http://go.microsoft.com/fwlink/?linkid=232473). Sin embargo, para que el optimizador considere las vistas indizadas para la coincidencia, o utilizar una vista indizada que se hace referencia con la sugerencia NOEXPAND, las siguientes opciones SET se debe establecer en ON.
  • 21. 1 está implícitamente ARITHABORT en ON cuando ANSI_WARNINGS está establecido en ON. Por lo tanto, usted no tiene que ajustar manualmente esta configuración. Además, la opción NUMERIC_ROUNDABORT se debe establecer en OFF. Para forzar al optimizador a usar un índice para una vista indizada, especifique la opción NOEXPAND. Esta receta se puede utilizar sólo si la vista es también el nombre de la consulta. SQL Server no proporciona un indicio para forzar un punto de vista particular indexado para ser utilizado en una consulta que no nombra a la vista directamente en la Cláusula FROM, sin embargo, el optimizador de consultas tiene en cuenta el uso de vistas indizadas, aunque no se hace referencia directa en la consulta. ANSI_NULLS ANSI_WARNINGS CONCAT_NULL_YIELDS_NULL ANSI_PADDING ARITHABORT1 QUOTED_IDENTIFIERS
  • 22. Usando una sugerencia de tabla como una sugerencia de consulta Las sugerencias de tabla también se puede especificar como una sugerencia de consulta mediante el OPTION (TABLE HINT) cláusula. Le recomendamos que utilice una sugerencia de tabla como una sugerencia de consulta en el contexto de una guía de plan. Para consultas ad-hoc, especifique estas sugerencias sólo como sugerencias de tabla. Para obtener más información, vea Sugerencias de consulta (Transact-SQL). Permisos El KEEPIDENTITY, IGNORE_CONSTRAINTS y sugerencias IGNORE_TRIGGERS requieren ALTER permisos en la tabla.
  • 23. INSERT Tipos de datos Al insertar filas, considere el comportamiento tipo de datos siguientes: • Si un valor se carga en columnas con un char, varchar o tipo de datos varbinary, el relleno o truncamiento de los espacios en blanco finales (espacios para char y varchar, ceros para varbinary) está determinada por la configuración de SET ANSI_PADDING definida para la columna cuando se creó la tabla. Para obtener más información, vea SET ANSI_PADDING (Transact-SQL). La tabla siguiente muestra el funcionamiento predeterminado de SET ANSI_PADDING OFF.
  • 24. Data type Default operation Pad valor con espacios para el char ancho definido de la columna Eliminar espacios finales hasta el varchar último carácter no-espacio o un carácter de un solo espacio para cadenas compuestas solamente de espacios. varbinary Eliminar los ceros finales.
  • 25. Si una cadena vacía ("") se carga en una columna con un tipo varchar o texto de datos, la operación predeterminada es cargar una cadena de longitud cero. • La inserción de un valor nulo en una columna de texto o la imagen no se crea un puntero de texto válido, ni asignar previamente una página de texto de 8 KB. • Las columnas creadas con el tipo de datos uniqueidentifier tienda con formato especial de 16 bytes valores binarios. A diferencia de las columnas de identidad, el motor de base de datos no genera automáticamente valores de columnas con el tipo de datos uniqueidentifier. Durante una operación de inserción, las variables con un tipo de datos uniqueidentifier y constantes de cadena con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (36 caracteres, incluyendo guiones, donde x es un dígito hexadecimal en el rango de 0-9 o af) puede ser para las columnas uniqueidentifier. Por ejemplo, 6F9619FF- 8B86-D011-B42D-00C04FC964FF es un valor válido para una variable o columna uniqueidentifier. Utilice la función NEWID () para obtener un identificador único global (GUID).
  • 26. Control de errores Puede implementar el manejo de errores para la instrucción INSERT especificando la declaración en un Construcción TRY ... CATCH. Si una sentencia INSERT infringe una restricción o regla, o si tiene un valor incompatible con el tipo de datos de la columna, el comando falla y aparece un mensaje de error se devuelve. Si está cargando INSERT de varias filas con SELECT o EXECUTE, toda violación de una regla o restricción que se produce a partir de los valores que se cargan provoca que la instrucción se detuvo y no se carguen filas. Cuando una sentencia INSERT encuentra un error aritmético (desbordamiento, división por cero, o un error de dominio) al evaluar una expresión, el motor de base de datos se encarga de estos errores como si SET ARITHABORT se establece en ON. La carga se detiene y aparece un mensaje de error se devuelve. durante evaluar una expresión con SET ARITHABORT y SET ANSI_WARNINGS es OFF, si una instrucción INSERT, DELETE o UPDATE encuentra un error aritmético, desbordamiento, división por cero, o un error de dominio, SQL Server inserta o actualiza un valor NULL. Si la columna de destino no es anulable, la acción de inserción o actualización falla y el usuario recibe un error.
  • 27. MERGE Realiza inserción, actualización o eliminación en una tabla de destino en función de los resultados de una combinación con 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. Permisos Requiere el permiso SELECT en la tabla de origen y INSERT, UPDATE o DELETE sobre la tabla de destino. Para obtener información adicional, consulte la sección Permisos en el SELECT, INSERT, UPDATE y DELETE temas.
  • 28. 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.
  • 29. 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.
  • 30. USE AdventureWorks2012; GO DECLARE @MyTableVar table( NewScrapReasonID smallint, Name varchar(50), ModifiedDate datetime); INSERT Production.ScrapReason OUTPUT INSERTED.ScrapReasonID, INSERTED.Name, INSERTED.Modified Date 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.
  • 31. OUTPUT Clause • Devuelve información de, o expresiones basadas en, cada fila afectada por una instrucción INSERT, UPDATE, DELETE o MERGE. Estos resultados pueden ser devueltos a la aplicación de procesamiento para su uso en cosas tales como mensajes de confirmación, archivos, y otros requisitos de aplicación tales. Los resultados también se puede insertar en una tabla o una variable de tabla. Además, puede capturar los resultados de una cláusula OUTPUT en una instrucción anidada INSERT, UPDATE, DELETE o MERGE, e insertar los resultados en una tabla o vista de destino.
  • 32. • Tipos de datos La cláusula OUTPUT admite los tipos de datos de objetos grandes: nvarchar (max), varchar (max), varbinary (max), text, ntext, image, xml y. Cuando se utiliza el. WRITE en la instrucción UPDATE para modificar un nvarchar (max), varchar (max) o varbinary (max), el total antes y después de las imágenes de los valores se devuelven si se hace referencia. El TEXTPTR () no puede aparecer como parte de una expresión en un texto, ntext o columna de imagen en la salida
  • 33. SELECT • Recupera filas de la base de datos y permite la selección de una o varias filas o columnas de una o varias tablas en SQL Server 2012. La sintaxis completa de la instrucción SELECT es compleja, pero las cláusulas principales se pueden resumir en: [CON <common_table_expression>] SELECT select_list [INTOnew_table] [FROMtable_source] [WHEREsearch_condition] [GROUP BY group_by_expression] [HAVINGsearch_condition] [ORDER BY order_expression [ASC | DESC]] La UNION, EXCEPT e INTERSECT se pueden utilizar entre consultas para combinar o comparar sus resultados en un conjunto de resultados.
  • 34. Permisos Selección de datos requiere el permiso SELECT en la tabla o vista, lo que podría ser heredado de un ámbito superior como el permiso SELECT en el esquema o permiso CONTROL en la tabla. ¿O es necesario pertenecer a la db_datareader o roles db_owner fija de base de datos, o el rol fijo de servidor sysadmin. Creación de una nueva tabla con SELECTINTO también requiere el permiso CreateTable, y el permiso ALTERSCHEMA en el esquema al que pertenece la nueva tabla.
  • 35. Group By • Agrupa un conjunto seleccionado de filas en un conjunto de filas de resumen de los valores de una o más columnas o expresiones en SQL Server 2012. Se devuelve una fila para cada grupo. Las funciones de agregado en la cláusula SELECT lista SELECT proporcionar información acerca de cada grupo en lugar de filas individuales. La cláusula GROUP BY tiene una sintaxis compatible con ISO y una sintaxis no ISO-compliant. Sólo un estilo de sintaxis puede utilizarse en una sola instrucción SELECT. Utilice la sintaxis compatible con ISO para toda nueva obra. La sintaxis no compatible con ISO se proporciona por compatibilidad con versiones anteriores. En este tema, una cláusula GROUP BY se puede describir como general o simple:
  • 36. 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, CUBE CON O CON ROLLUP. GROUP BY (), total general, se considera un simple GROUP BY.
  • 37. HAVING Especifica una condición de búsqueda para un grupo o un agregado. HABIENDO sólo se puede utilizar con la instrucción SELECT. HABIENDO se suele utilizar en una cláusula GROUP BY. Cuando GROUP BY no se utiliza, HABIENDO se comporta como una cláusula WHERE.
  • 38. INTO Clause • SELECT ... INTO crea una nueva tabla en el grupo de archivos predeterminado e inserta las filas resultantes de la consulta en el mismo. Para ver la sintaxis completa SELECT, vea SELECT (Transact-SQL). Permisos Requiere el permiso CREATE TABLE en la base de datos de destino.
  • 39. ORDER BY Clause Ordena los datos devueltos por una consulta en SQL Server 2012. Utilice esta cláusula para: • Ordenar el conjunto de resultados de una consulta de la lista de columnas especificado y, opcionalmente, limitar las filas devueltas a un rango especificado. El orden en que se devuelven filas en un conjunto de resultados no están garantizados 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.
  • 40. Interoperabilidad Cuando se utiliza con un SELECT ... INTO para insertar filas de otra fuente, el ORDER BY cláusula no garantiza que las filas se inserten en el orden especificado. Usando OFFSET y FETCH en una vista no cambia la propiedad Updateability de la vista.
  • 41. Limitaciones y restricciones No hay límite al número de columnas de la cláusula ORDER BY, sin embargo, el tamaño total de las columnas especificadas en una cláusula ORDER BY no puede superar los 8.060 bytes. Las columnas de tipo ntext, text, image, geografía, geometría y xml no se pueden utilizar en un Cláusula ORDER BY. Un entero o una constante no se puede especificar cuando order_by_expression aparece en una función de categoría. Para obtener más información, vea OVER (cláusula de Transact-SQL). Si el nombre de la tabla tiene un alias en la cláusula FROM, sólo el nombre de alias se puede utilizar para calificar a sus columnas de la cláusula ORDER BY.
  • 42. Los nombres de columnas y alias especificados en la cláusula ORDER BY se debe definir en la lista de selección si la instrucción SELECT contiene una de las siguientes cláusulas u operadores: • UNIÓN operador • EXCEPT • INTERSECT operador • SELECT DISTINCT Además, cuando la declaración incluye un operador UNION, EXCEPT o INTERSECT operador, los nombres de columna o alias de columna se debe especificar en la lista de selección de la primera (izquierda) de la consulta. En una consulta que use UNION, EXCEPT o INTERSECT, ORDER BY se permite sólo al final de la declaración. Esta restricción se aplica sólo a cuando se especifica UNION, EXCEPT e INTERSECT en una consulta de nivel superior y no en una subconsulta. Véase la sección de ejemplos que sigue. La cláusula ORDER BY no es válida en vistas, funciones insertadas, tablas derivadas ni subconsultas, a menos que la parte superior o cláusulas OFFSET y FETCH también se especifican. Cuando ORDER BY es utilizada en estos objetos, la cláusula sólo se utiliza para determinar las filas devueltas por la cláusula TOP
  • 43. O OFFSET y FETCH cláusulas. La cláusula ORDER BY no garantiza resultados ordenados cuando estas construcciones se consultan, a menos ORDER BY también se especifica en la propia consulta. OFFSET y FETCH no son compatibles con las vistas indizadas o en una vista que se define mediante la VER cláusula OPTION.
  • 44. OVER Clause Determina la partición y el ordenamiento de un conjunto de filas antes de la función de ventana asociado se aplica. Es decir, la cláusula OVER define una ventana o especificado por el usuario conjunto de filas dentro de un conjunto de resultados de consulta. Una función de ventana se calcula un valor para cada fila de la ventana. Puede utilizar la cláusula OVER con funciones para calcular valores agregados tales como medias móviles, agregados acumulativos, totales acumulados, o un grupo de los mejores resultados por N.
  • 45. Limitaciones y restricciones La cláusula OVER no se puede utilizar con la función de agregado CHECKSUM. RANGO no se puede utilizar con specification> <unsigned valor anterior o siguiente <unsigned valor specification>. Dependiendo de la función de categoría, agregar, o analítico utilizar con la cláusula OVER, <Order POR clause> y / o los <ROWS y clause> rango no puede ser apoyada.
  • 46. Table Value Constructor Especifica un conjunto de expresiones de valor de fila para ser construidos en una tabla. El constructor de tabla de Transact-SQL valor permite que varias filas de datos que se especifica en una instrucción DML único. El constructor con valores de tabla puede ser especificado en la cláusula VALUES de la instrucción INSERT, en la cláusula <tabla origen> USO de la instrucción MERGE, y en la definición de una tabla derivada en la cláusula FROM.
  • 47. TOP • Limita las filas devueltas en un resultado de consulta establecido en un número especificado de filas o porcentaje de filas en SQL Server 2012. Cuando TOP se utiliza en conjunción con la cláusula ORDER BY, el conjunto de resultados se limita a la primera número N de filas ordenadas, de lo contrario, se devuelve el primer número N de filas aleatorias. Utilice esta cláusula para especificar el número de filas devueltas por una instrucción SELECT o afectadas por una instrucción INSERT, UPDATE, MERGE o DELETE.
  • 48. con la Asistencia Para la compatibilidad con versiones anteriores, los paréntesis son opcionales en instrucciones SELECT. Le recomendamos que utilice siempre paréntesis para TOP en sentencias SELECT para mantener la coherencia con su uso requerido en las instrucciones INSERT, UPDATE, MERGE y DELETE en la que los paréntesis son necesarios.
  • 49. Limitaciones y restricciones Cuando se utiliza con TOP INSERT, UPDATE, MERGE o DELETE, las filas se hace referencia no están dispuestos en cualquier orden y ORDER BY cláusula no se puede especificar directamente en estas declaraciones. Si usted necesita utilizar TOP para insertar, eliminar o modificar las filas en un orden cronológico significativo, debe utilizarla junto con una cláusula ORDER BY que se especifica en una instrucción de subselección. Vea la sección de ejemplos que sigue en este tema. TOP no se puede utilizar en una instrucción UPDATE y DELETE en vistas con particiones. TOP no se puede combinar con OFFSET y FETCH en la misma expresión de consulta (en el ámbito de la consulta misma). Para obtener más información, vea ORDER BY (cláusula de Transact-SQL).
  • 50. UPDATE Los cambios de datos existentes en una tabla o vista de SQL Server 2012. Para ejemplos, vea Ejemplos.
  • 51. Con la Asistencia Soporte para el uso de los NOLOCK READUNCOMMITTED y en la cláusula FROM que se aplican a la tabla de destino de una instrucción UPDATE o DELETE se quitará en una versión futura de SQL Server. Evite el uso de estos consejos en este contexto en nuevos trabajos de desarrollo y piense en modificar las aplicaciones que actualmente la utilizan.
  • 52. Tipos de datos Todas las columnas char y nchar se haga con relleno a la longitud definida. Si ANSI_PADDING se establece en OFF, todos los espacios finales se eliminan de los datos insertados en las columnas varchar y nvarchar, excepto en cadenas que contienen sólo espacios. Estas cadenas se truncan a una cadena vacía. Si ANSI_PADDING se establece en ON, los espacios finales se insertan. El SQL Microsoft Servidor controlador ODBC y el proveedor OLE DB para SQL Server establecen automáticamente ANSI_PADDING EN para cada conexión. Esto se puede configurar en orígenes de datos ODBC o mediante atributos o propiedades de conexión. Para obtener más información, vea SET ANSI_PADDING (Transact-SQL).
  • 53. La captura de los resultados de la instrucción UPDATE Los ejemplos de esta sección muestran cómo utilizar la cláusula OUTPUT para devolver información de, o expresiones basadas en cada fila afectada por una instrucción UPDATE. Estos resultados pueden ser devueltos a la aplicación de procesamiento para su uso en cosas tales como mensajes de confirmación, archivos, y otros requisitos de aplicación tales.
  • 54. UPDATETEXT Actualiza un texto existente, ntext o campo de imagen. Utilice UPDATETEXT para cambiar sólo una parte de un texto, ntext o columna de imagen en su lugar. Utilice WRITETEXT para actualizar y reemplazar un texto, ntext o campo de imagen. Permisos Requiere el permiso UPDATE en la tabla especificada.
  • 55. WHERE • Especifica la condición de búsqueda de las filas devueltas por la consulta.
  • 56. WITH common_table_expression • Especifica un conjunto con nombre temporal resultado, conocido como una expresión de tabla común (CTE). Esto se deriva de una consulta simple y se define en el ámbito de ejecución de una sola instrucción SELECT, INSERT, UPDATE o DELETE. Esta cláusula también se puede utilizar en una instrucción CREATE VIEW, como parte de su instrucción SELECT que define. Una expresión de tabla común pueden incluir referencias a sí mismo. Esto se conoce como una expresión de tabla común recursiva
  • 57. WRITETEXT • Permite el registro mínimo, la actualización interactiva de un texto existente, ntext o columna de imagen. WRITETEXT sobrescribe los datos existentes en la columna afectada. WRITETEXT no se puede utilizar en las columnas text, ntext e image en las vistas. • Permisos Requiere el permiso UPDATE en la tabla especificada. El permiso es transferible cuando ACTUALIZAR permiso se transfiere.
  • 58. Transact-SQL Syntax Conventions • En la tabla siguiente se enumeran y describen las convenciones que se utilizan en los diagramas de sintaxis en la Transact-SQL Reference.