Comment créer une table à partir du résultat de la requête select dans SQL Server 2008 [dupliquer]
cette question a déjà une réponse ici:
je veux créer une table à partir du résultat de la requête select dans SQL Server, j'ai essayé
create table temp AS select.....
mais j'ai eu une erreur
syntaxe incorrecte près du mot-clé 'AS'
6 réponses
utiliser la syntaxe suivante pour créer une nouvelle table à partir D'une ancienne table dans SQL server 2008
Select * into new_table from old_table
utiliser SELECT...INTO
L'instruction SELECT INTO crée une nouvelle table et la remplit avec le jeu de résultats de la déclaration SELECT. sélectionner dans Peut être utilisé pour combinez les données de plusieurs tableaux ou vues dans un tableau. Il peut également être utilisé pour créer une nouvelle table qui contient les données sélectionnées à partir d'une serveur lié.
exemple,
SELECT col1, col2 INTO #a -- <<== creates temporary table
FROM tablename
Syntaxe Standard,
SELECT col1, ....., col@ -- <<== select as many columns as you want
INTO [New tableName]
FROM [Source Table Name]
S'il vous plaît soyez prudent,
MSSQL: "SELECT * INTO NewTable FROM OldTable"
n'est pas toujours le même que
MYSQL: "create table temp AS select.."
je pense qu'il y a des occasions où cela (en MSSQL) ne garantit pas que tous les champs de la table sont du même type que l'ancien.
par exemple:
create table oldTable (field1 varchar(10), field2 integer, field3 float)
insert into oldTable (field1,field2,field3) values ('1', 1, 1)
select top 1 * into newTable from oldTable
ne donne pas toujours:
create table newTable (field1 varchar(10), field2 integer, field3 float)
mais peut être:
create table newTable (field1 varchar(10), field2 integer, field3 integer)
essayez D'utiliser SELECT INTO....
SELECT ....
INTO TABLE_NAME(table you want to create)
FROM source_table
sélectionner [nom des champs] dans [Nouvelle Table] à partir de [Table Source]