Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

INSÉRER DANS vs SÉLECTIONNER DANS

  1. Ils font des choses différentes. Utilisez INSERT lorsque la table existe. Utilisez SELECT INTO quand ce n'est pas le cas.

  2. Oui. INSERT sans indice de table est normalement enregistré. SELECT INTO est enregistré au minimum en supposant que les indicateurs de trace appropriés sont définis.

  3. D'après mon expérience SELECT INTO est le plus souvent utilisé avec des ensembles de données intermédiaires, comme #temp tables, ou pour copier une table entière comme pour une sauvegarde. INSERT INTO est utilisé lorsque vous insérez dans une table existante avec une structure connue.

MODIFIER

Pour répondre à votre édition, ils font des choses différentes. Si vous créez une table et souhaitez définir la structure, utilisez CREATE TABLE et INSERT . Exemple de problème pouvant être créé :vous avez une petite table avec un champ varchar. La plus grande chaîne de votre table est maintenant de 12 octets. Votre ensemble de données réel nécessitera jusqu'à 200 octets. Si vous faites SELECT INTO de votre petit tableau pour en faire un nouveau, le plus tard INSERT échouera avec une erreur de troncature car vos champs sont trop petits.