Section courante

A propos

Section administrative du site

 Langage  Installation  Elément  Tutoriel  GUI  Outils  Déployer  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
Rust
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Planification de l'installation
Planification d'une migration
SQL Server 2005 Developer
SQL Server 2008 R2 Developer
SQL Server 2012 Developer
SQL Server 2014 Developer
SQL Server 2016 Developer
SQL Server 2017 Developer
SQL Server 2019 Developer
Introduction
Type de données élémentaire
Les instructions de boucles
Référence des mots réservés
Référence des instructions
Référence des fonctions
Référence des bases de données systèmes
Référence des tables systèmes
Référence des vues systèmes
Référence des utilisateurs par défaut
Référence des Stored Procedures système
Objets de base du SQL
Gérer les données avec Transact-SQL
Langage de définition de données/Data Definition Language (DDL)
Instructions DML : Instructions INSERT, UPDATE, DELETE et MERGE
Recherche en texte intégral (Full-Text Search)
Prise en charge de JSON dans SQL Server
STORED PROCEDURES
Les opérations
Activer l'intégration de SQL Server de CLR à l'aide de Transact-SQL
Afficher l'historique des requêtes SQL
Afficher tous les index dans une base de données SQL Server
Afficher toutes les tables dans une base de données
Comment identifier les requêtes SQL d'exécution lente dans SQL Server
Exporter la base de données SQL Server dans un fichier SQL
Exporter des tables dans un fichier .SQL avec Microsoft SQL Server Management Studio
Obtenir le nom du serveur et des bases de données dans SQL Server
SQL Server Management Studio (SSMS)
DBeaver
HeidiSQL
Navicat
SQL Server Analytic Services (SSAS)
SQL Server Data Tools (SSDT)
SQL Server Integration Services (SSIS)
SQL Server Reporting Services (SSRS)
sqlcmd
SQL Data Compare (Redgate)
SSIS avec SQL Server Management Studio (SSMS)
SSIS avec Visual Studio 2017
Références des codes d'erreur du SQL Server
Référence de termes et du vocabulaire
Préface
Notes légal
Dictionnaire
Recherche

INSERT

Insère
SQL Server Microsoft SQL Server

Syntaxe

[ WITH common_table_expression [ ,...n ] ]
INSERT
{
      [ TOP ( expression ) [ PERCENT ] ]
      [ INTO ]
      { | rowset_function_limited
         [ WITH ( Table_Hint_Limited [ ...n ] ) ]
      }
      {
      [ ( column_list ) ]
      [ <OUTPUT Clause> ]
      { VALUES ( { DEFAULT | NULL | expression } [ ,...n ] ) [ ,...n ]
      | derived_table
      | execute_statement
      | dml_table_source
      | DEFAULT VALUES
      }
      }
}
[;]

::=
{
   [ server_name . database_name . schema_name .
      | database_name .[ schema_name ] .
      | schema_name .
   ]
   table_or_view_name
}

dml_table_source ::=
      SELECT select_list
      FROM ( dml_statement_with_output_clause )
            [AS] table_alias [ ( column_alias [ ,...n ] ) ]
      [ WHERE search_condition ]
            [ OPTION ( query_hint [ ,...n ] ) ]
INSERT
{
      [BULK]
      { database_name.schema_name.table_or_view_name | schema_name.table_or_view_name | table_or_view_name }
      ( column_definition )
      [ WITH (
            [ [ , ] CHECK_CONSTRAINTS ]
            [ [ , ] FIRE_TRIGGERS ]
            [ [ , ] KEEP_NULLS ]
            [ [ , ] KILOBYTES_PER_BATCH = kilobytes_per_batch ]
            [ [ , ] ROWS_PER_BATCH = rows_per_batch ]
            [ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ]
            [ [ , ] TABLOCK ]
      ) ]
}

[; ] column_definition ::=
column_name data_type
      [ COLLATE collation_name ]
      [ NULL | NOT NULL ]

data type ::=
[ type_schema_name . ] type_name
      [ ( precision [ , scale ] | max ]

Paramètres

Nom Description
WITH common_table_expression Ce paramètre permet d'indiquer l'ensemble de résultats nommé temporaire, également appelé expression de table commune, définie dans l'étendu de l'instruction INSERT. L'ensemble de résultats est dérivé d'une instruction SELECT.
TOP (expression) [ PERCENT ] (expression) [ PERCENT ] Ce paramètre permet d'indiquer le nombre ou le pourcentage de lignes aléatoires à insérer. Le paramètre expression peut être un nombre ou un pourcentage d'un enregistrement.
INTO Ce paramètre permet d'indiquer le mot clef facultatif pouvant être utilisé entre INSERT et la table destinataire.
server_name Ce paramètre permet d'indiquer le nom du serveur lié sur lequel se trouve la table ou la vue. Le paramètre server_name peut être spécifié en tant que nom de serveur lié ou à l'aide de la fonction OPENDATASOURCE. Lorsque le paramètre server_name est spécifié en tant que serveur lié, les paramètres database_name et schema_name sont obligatoires. Lorsque le paramètre server_name est spécifié avec OPENDATASOURCE, les paramètres database_name et schema_name peuvent ne pas s'appliquer à toutes les sources de données et sont soumis aux fonctionnalités du fournisseur OLE DB accédant à l'objet à distance.
database_name Ce paramètre permet d'indiquer le nom de la base de données.
schema_name Ce paramètre permet d'indiquer le nom du schéma auquel appartient la table ou la vue.
table_or_view_name Ce paramètre permet d'indiquer le nom de la table ou de la vue recevant les données.
rowset_function_limited Ce paramètre permet d'indiquer la fonction OPENQUERY ou OPENROWSET. L'utilisation de ces fonctions dépend des fonctionnalités du fournisseur OLE DB accédant à l'objet à distance.
WITH ( table_hint_limited [... n ] ) Ce paramètre permet d'indiquer un ou plusieurs indicateurs de table autorisés pour une table destinataire. Le mot clef WITH et les parenthèses sont obligatoires.
(column_list) Ce paramètre permet d'indiquer une liste d'une ou de plusieurs colonnes dans lesquelles insérer des données. Le paramètre column_list doit être entre parenthèses et délimité par des virgules.
OUTPUT Clause Ce paramètre permet de retourner les lignes insérées dans le cadre de l'opération d'insertion. Les résultats peuvent être renvoyés à l'application de traitement ou insérés dans une table ou une variable de table pour un traitement ultérieur.
VALUES Ce paramètre permet d'introduire la liste ou les listes de valeurs de données à insérer. Il doit y avoir une valeur de données pour chaque colonne dans la column_list, si elle est spécifiée, ou dans la table. La liste de valeurs doit être entre parenthèses.
DEFAULT Ce paramètre permet de forcer le moteur de base de données à charger la valeur par défaut définie pour une colonne. S'il n'existe pas de valeur par défaut pour la colonne et que la colonne autorise les valeurs NULL, NULL est inséré. Pour une colonne définie avec le type de données timestamp, la valeur timestamp suivante est insérée. Le paramètre DEFAULT n'est pas valide pour une colonne d'identité.
expression Ce paramètre permet d'indiquer une constante, une variable ou une expression. L'expression ne peut pas contenir d'instruction EXECUTE.
derived_table Ce paramètre permet d'indiquer toute instruction SELECT valide renvoyant des lignes de données à charger dans la table. L'instruction SELECT ne peut pas contenir une expression de table commune (CTE).
execute_statement Ce paramètre permet d'indiquer toute instruction EXECUTE valide renvoyant des données avec les instructions SELECT ou READTEXT.
dml_table_source Ce paramètre permet d'indiquer que les lignes insérées dans la table cible sont celles renvoyées par la clause OUTPUT d'une instruction INSERT, UPDATE, DELETE ou MERGE, éventuellement filtrée par une clause WHERE. Si dml_table_source est spécifié, la destination de l'instruction INSERT externe doit respecter les restrictions suivantes : elle doit être une table de base, pas une vue, elle ne peut pas être une table à distance, elle ne peut pas avoir de déclencheur défini sur celle-ci, elle ne peut pas participer à aucune relation de clef primaire-clef étrangère et elle ne peut pas participer à la réplication de fusion ni aux abonnements pouvant être mis à jour pour la réplication transactionnelle. Le niveau de compatibilité de la base de données doit être égal ou supérieur à 100.
select_list Ce paramètre permet d'indiquer une liste séparée par des virgules spécifiant les colonnes renvoyées par la clause OUTPUT à insérer. Les colonnes de select_list doivent être compatibles avec les colonnes dans lesquelles des valeurs sont insérées. Le paramètre select_list ne peut pas faire référence à des fonctions d'agrégat ou à TEXTPTR.
dml_statement_with_output_clause Ce paramètre permet d'indiquer qu'il s'agit d'une instruction INSERT, UPDATE, DELETE ou MERGE validant que le retour des lignes affectées dans une clause OUTPUT. L'instruction ne peut pas contenir de clause WITH ni cibler des tables à distance ou des vues partitionnées. Si UPDATE ou DELETE est spécifié, il ne peut s'agir d'un UPDATE ou DELETE basée sur un curseur. Les lignes source ne peuvent pas être référencées comme des instructions DML imbriquées.
WHERE search_condition Ce paramètre permet d'indiquer que toute clause WHERE contenant un search_condition valide filtrant les lignes renvoyées par dml_statement_with_output_clause.
DEFAULT VALUES Ce paramètre permet de forcer la nouvelle ligne à contenir les valeurs par défaut définies pour chaque colonne.
BULK Ce paramètre permet d'indiquer qu'un outil externe télécharge un flux de données binaire. Ce paramètre n'est pas conçue pour être utilisée avec des outils tels que SQL Server Management Studio, SQLCMD, OSQL ou des interfaces de programmation d'applications d'accès aux données telles que SQL Server Native Client.
FIRE_TRIGGERS Ce paramètre permet d'indiquer que tous les déclencheurs d'insertion définis sur la table de destination s'exécutent pendant l'opération de téléchargement du flux de données binaires.
CHECK_CONSTRAINTS Ce paramètre permet d'indiquer que toutes les contraintes sur la table ou la vue destinataire doivent être vérifiées lors de l'opération de téléchargement du flux de données binaires.
KEEPNULLS Ce paramètre permet d'indiquer que les colonnes vides doivent conserver une valeur null lors de l'opération de téléchargement du flux de données binaires.
KILOBYTES_PER_BATCH = kilobytes_per_batch Ce paramètre permet d'indiquer le nombre approximatif de kilo-octets (Ko) de données par lot en kilobytes_per_batch.
ROWS_PER_BATCH =rows_per_batch Ce paramètre permet d'indiquer le nombre approximatif de lignes de données dans le flux de données binaires.

Description

Cette instruction permet d'insérer un ou plusieurs enregistrement dans une table ou une vue de SQL Server.

Remarques



PARTAGER CETTE PAGE SUR
Dernière mise à jour : Samedi, le 4 novembre 2017