Je veux créer une table à partir d'un résultat de requête sélectionné dans SQL Server, j'ai essayé
create table temp AS select.....
mais j'ai une erreur
Syntaxe incorrecte près du mot clé 'AS'
Utilisez 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 l'instruction SELECT. SELECT INTO peut être utilisé pour combiner des données provenant de plusieurs tables ou vues dans une table. Il peut également être utilisé pour créer une nouvelle table contenant des données sélectionnées sur un 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 identique à MYSQL: "create table temp AS select.."
Je pense qu'il y a des cas où cela (dans MSSQL) ne garantit pas que tous les champs de la nouvelle 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'il vous plaît essayez:
SELECT * INTO NewTable FROM OldTable
Sélectionnez [Noms de champs] dans [Nouvelle table] dans [Table source]