SQL Insert

Instrucción INSERT
Definición
Agrega una nueva fila o filas a una tabla o vista.

INSERT [ INTO ] objeto { [ ( lista_columnas ) ] { VALUES ( ( { DEFAULT | NULL | expresión } [ ,...n ] ) [ ,...n ] ) | tabla_derivada | sentencia_ejecutable | DEFAULT VALUES } }


Descripción de las cláusulas

  • INTO: Es una palabra clave opcional que se puede utilizar entre INSERT y la tabla de destino.
  • Lista_columnas: Es una lista de una o más columnas en las que se insertarán los datos. Se debe incluir entre paréntesis y delimitar con comas.
  • VALUES: Presenta la lista de valores de datos que se van a insertar. Debe haber un valor de datos por cada columna de la lista, si se especifica, o en la tabla. La lista de valores debe ir entre paréntesis. Los valores de la lista VALUES deberán estar en el mismo orden que la lista de columnas. La inserción de más de una fila de valores requiere que la lista VALUES esté en el mismo orden que las columnas de la tabla, para tener un valor en cada columna, o que lista especifique de forma explícita la columna en que la que se almacena cada uno de los valores entrantes. El número máximo de filas que se pueden insertar en una instrucción INSERT única es 1000. Para insertar más de 1000 filas, cree varias instrucciones INSERT, o realice una importación masiva de datos mediante la utilidad BCP o la instrucción BULK INSERT.
  • Tabla_derivada: Es cualquier instrucción SELECT válida que devuelva filas con los datos que se van a cargar en la tabla.
  • Sentencia_ejecutable: Es cualquier instrucción EXECUTE válida que devuelva datos con la instrucciones SELECT. Puede contener la llamada a un procedimiento almacenado.
  • DEFAULT VALUES: Hace que la nueva fila contenga los valores predeterminados definidos para cada columna.

Consideraciones
Si una columna no se incluye en la lista de columnas, el Motor de base de datos debe ser capaz de proporcionar un valor basado en la definición de la columna; en caso contrario, no se puede cargar la fila. El Motor de base de datos proporciona automáticamente un valor para la columna si ésta:

  • Tiene una propiedad IDENTITY. Se usa el valor de identidad incremental siguiente.
  • Tiene un valor predeterminado. Se usa el valor predeterminado de la columna.
  • Tiene un tipo de datos timestamp. Se utiliza el valor actual de marca de tiempo.
  • Acepta valores NULL. Se usa un valor NULL.
  • Es una columna calculada. Se utiliza el valor calculado.

Ejemplos
a. Inserta una fila en la tabla UnitMeasure. Dado que los valores para todas las columnas se suministran e incluyen en el mismo orden que las columnas de la tabla, no es necesario especificar los nombres de columna en la lista. Igualmente es una buena práctica declarar la lista siempre.

INSERT INTO Production.UnitMeasure VALUES ('F2', 'Square Feet', GETDATE())

b. Mismo ejemplo que en la opción a, pero especificando la lista de columnas.

INSERT INTO Production.UnitMeasure (Name, UnitMeasureCode, ModifiedDate) VALUES ('Square Yards', 'Y2', GETDATE())

c. Inserta 5 filas en la tabla Departments

INSERT INTO dbo.Departments VALUES (1, 'Human Resources', 'Margheim'),(2, 'Sales', 'Byham'), (3, 'Finance', 'Gill'),(4, 'Purchasing', 'Barber'), (5, 'Manufacturing', 'Brewer')

d. Inserta el resultado de la instrucción SELECT en la tabla EmployeeSales

INSERT dbo.EmployeeSales SELECT 'SELECT', e.EmployeeID, c.LastName, sp.SalesYTD FROM HumanResources.Employee AS e INNER JOIN Sales.SalesPerson AS sp ON e.EmployeeID = sp.SalesPersonID INNER JOIN Person.Contact AS c ON e.ContactID = c.ContactID WHERE e.EmployeeID LIKE '2%' ORDER BY e.EmployeeID, c.LastName



3 Responses to “SQL Insert”

  1. Información Bitacoras.com…

    Valora en Bitacoras.com: Instrucción INSERT Definición Agrega una nueva fila o filas a una tabla o vista. INSERT [ INTO ] objeto { [ ( lista_columnas ) ] { VALUES ( ( { DEFAULT | NULL | expresión } [ ,?n ] ) [ ,?n ] ) | tabla_derivada | sentencia_eje…..

  2. cancuneitor dice:

    Me surgió un problema al crear una tabla, y no tengo idea de como usar el comando “DEFAULT VALUES” y ya intente de todo lo que he encontrado en los buscadores y nada de nada.
    Yo tengo mi tabla con un montón de validación pero la que mas me interesa es la de Id que se debe de incrementar sola uso SQL Server 2005 y ya le intente con ponerle única, de auto incremento y todo lo demás pero nadita de nada que se auto incrementa, me interesa que me saques de mi duda y a todos los que no pueda pasar.

  3. tavo dice:

    Busca algo del Identity, creo que te servirá mucho

Comentar