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'

140
demandé sur marc_s 2013-05-22 08:57:38

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 
251
répondu Sanjeev Rai 2013-05-22 05:14:23

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]
46
répondu John Woo 2013-05-22 05:02:42

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)
25
répondu mssql-mysql 2013-12-19 10:18:42

essayez D'utiliser SELECT INTO....

SELECT ....
INTO     TABLE_NAME(table you want to create)
FROM source_table
10
répondu Rebika 2013-05-22 05:06:38

s'il vous Plaît essayer:

SELECT * INTO NewTable FROM OldTable
8
répondu TechDo 2013-05-22 05:03:10

sélectionner [nom des champs] dans [Nouvelle Table] à partir de [Table Source]

2
répondu Prabhash Jha 2013-05-22 05:03:43