OVH Cloud OVH Cloud

Insert into crée-t-il la table destination ?

1 réponse
Avatar
tintin
Bonjour,

Sous SQL 8.00.194,

D'après la doc :
"To create a new table and load it with data in one step, use the INTO
option of the SELECT statement."

C'est d'ailleurs ce que je crois me rappeller avoir expérimenté dans le
passé...

Malheureusement une commande telle que
Insert into #Temp1 select champ1 from table

me retourne le message :
Invalid object name '#Temp1'

Si je fais un Create avant, cela fonctionne (sauf si la table existe...)
mais cela m'oblige à figer la liste des champs ou leurs types.

Est-ce qu'il y a quelque chose que je ne fais pas comme il faut, ou une
option particulière à activer pour créer la table en même temps que l'Insert
???

Merci de votre aide.

1 réponse

Avatar
Fred BROUARD
Oui tu ne lit pas correctement la doc.

Elle parle du SELECT INTO. pas du INSERT INTO.

Ta comamnde s'écrit donc :

SELECT champ1
INTO #Temp1
FROM table

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************


tintin a écrit:
Bonjour,

Sous SQL 8.00.194,

D'après la doc :
"To create a new table and load it with data in one step, use the INTO
option of the SELECT statement."

C'est d'ailleurs ce que je crois me rappeller avoir expérimenté dans le
passé...

Malheureusement une commande telle que
Insert

me retourne le message :
Invalid object name '#Temp1'

Si je fais un Create avant, cela fonctionne (sauf si la table existe...)
mais cela m'oblige à figer la liste des champs ou leurs types.

Est-ce qu'il y a quelque chose que je ne fais pas comme il faut, ou une
option particulière à activer pour créer la table en même temps que l'Insert
???

Merci de votre aide.