SQL Indsæt

INSERT
Definition
Tilføjer en ny række eller rækker til en tabel eller visning.

 INSERT [I] {objekt [(lista_columnas)] {VÆRDIER (({Standard | NULL | udtryk} [... n]) [... n]) | tabla_derivada | sentencia_ejecutable | STANDARDVAERDIER}}


Beskrivelse af klausuler

  • I: En valgfri søgeord, der kan bruges mellem INSERT og måltabellen.
  • Lista_columnas: En liste over en eller flere kolonner, hvor data er indsat. Skal i parentes og afgrænset af kommaer.
  • VÆRDIER: viser en liste over dataværdier, der skal indsættes. Der skal være en dataværdi for hver kolonne i listen, hvis det er angivet, eller bord. Listen over værdier skal i parentes. Værdier Værdier liste skal være i samme rækkefølge som listen over kolonner. Indsættelsen af ​​mere end én række værdier kræver VÆRDIER listen er i samme rækkefølge som kolonner i tabellen, at have en værdi i hver kolonne, eller en liste udtrykkeligt angive den kolonne, hvor der gemmer hver en af ​​de indkommende værdier. Det maksimale antal rækker, som kan indsættes i en enkelt indsats redegørelse er 1000. For at indsætte mere end 1000 rækker, oprette flere INSERT, eller udføre en bulk import af data ved hjælp af BCP nytte eller BULK INSERT.
  • Tabla_derivada: Et gyldigt SELECT-sætning, der returnerer rækker af data, der skal lastes i tabellen.
  • Sentencia_ejecutable: Er der nogen gyldig EXECUTE erklæring, der returnerer data med SELECT-sætninger. Det kan indeholde et opkald til en lagret procedure.
  • STANDARDVAERDIER: Det gør den nye række indeholder de standardværdier defineret for hver kolonne.

Overvejelser
Hvis en kolonne ikke er medtaget på listen over kolonner, skal databasen motoren være i stand til at levere en værdi baseret på den definition af kolonnen, ellers kan ikke indlæse rækken. Databasen motoren automatisk giver en værdi for den kolonne, hvis det:

  • Har en identitet ejendom. Brug den næste trinvise identitet værdi.
  • Det har en standard værdi. Brug standard værdien af ​​kolonnen.
  • Det har et tidsstempel datatype. Det bruger den aktuelle værdi af tidsstempel.
  • Nullable. Brug en NULL værdi.
  • Er en beregnet kolonne. Vi bruger den beregnede værdi.

Eksempler
en. Indsætter en række i tabellen UnitMeasure. Fordi værdier for alle kolonner, er leveret, og indgår i samme rækkefølge som kolonner i tabellen, er det ikke nødvendigt at specificere de kolonnenavne i listen. Det er også god praksis at erklære listen evigt.

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

b.. Samme eksempel som i muligheden, men angiver kolonnen listen.

 INSERT INTO Production.UnitMeasure (navn, UnitMeasureCode, ModifiedDate) VALUES ('kvadrat meter', 'y2', GETDATE ())

ca. 5 rækker indsat i Afdelinger tabellen

 Dbo.Departments INSERT INTO VALUES (1, 'Human Resources', 'Margheim «) (2," sælge "," Byham «) (3,' Finance ',' Gill«) (4, "Indkøb", 'Barber'), (5, 'Manufacturing', 'Brewer')

d.. Indsæt resultatet af SELECT-sætningen i tabellen EmployeeSales

 Dbo.EmployeeSales INSERT SELECT "SELECT", e.EmployeeID, c.LastName, sp.SalesYTD FRA HumanResources.Employee AS e INNER JOIN som SP ON Sales.SalesPerson e.EmployeeID = sp.SalesPersonID Person.Contact som c INNER JOIN ON og . WHERE ContactID = c.ContactID e.EmployeeID LIKE '2% 'ORDER BY e.EmployeeID, c.LastName 

4 Responses til "SQL Insert"

  1. Bitacoras.com siger:

    Information Bitacoras.com ...

    Rate i Bitacoras.com: Definition INSERT sætning tilføjer en ny række eller rækker til en tabel eller visning. INSERT [I] {objekt [(lista_columnas)] {VÆRDIER (({DEFAULT | NULL | udtryk} [, N?]) [, N?]) | Tabla_derivada | sentencia_eje .....

  2. cancuneitor siger:

    Jeg havde et problem, når du opretter et bord, og jeg har ingen idé om, hvordan man bruger "Standard værdier" og jeg prøver alt hvad jeg har fundet i søgemaskinerne og intet.
    Jeg har mit bord med en masse validering, men at de fleste interesserer mig er ID til at være en af ​​stigende anvendelse SQL Server 2005 og allerede forsøger at sætte unikke auto-tilvækst og alt det andet, men ikke noget, der nadita stiger selv, jeg er interesseret i at få mig ud af mine tvivl, og alle dem, der ikke kan passere.

  3. tony siger:

    Find noget Identitet, jeg tror du vil gå en lang

  4. Agustin siger:

    hej jeg har et problem, hvis jeg indsætter anvendes til Qu eh vb længe, ​​men nu bruge VB2010 og sandheden er genereret næse ligesom tilslutninger osv osv osv. Jeg vil gerne have sendt noget om det venligst .. ayudenme vil gøre lave og høje ændringer i sql2008

Kommentar