插入到选择

使用之间有什么区别


SELECT ... INTO MyTable FROM...


INSERT INTO MyTable (...)

SELECT ... FROM ....


从BOL [ INSERT,SELECT ... INTO ],我知道使用SELECT ... INTO将在默认文件组上创建插入表(如果尚不存在),并且该语句的日志记录取决于恢复情况数据库的模型。


哪种说法更可取?

还有其他性能影响吗?

通过INSERT INTO ...进行SELECT ... INTO的好用例是什么?

编辑:我已经说过,我知道SELECT INTO ...会创建一个不存在的表。我想知道的是SQL包含此语句是有原因的,它是什么?它是做幕后的东西不同的插入行,或者是它的顶部只是语法糖CREATE TABLE和INSERT INTO。


慕桂英546537
浏览 583回答 3
3回答

哈士奇WWW

主要区别在于SELECT INTO MyTable将使用结果创建一个名为MyTable的新表,而INSERT INTO要求MyTable已存在。仅在表不存在并且您要根据查询结果创建表的情况下,才使用SELECT INTO。因此,这两个陈述确实不可比。他们做的事情截然不同。通常,SELECT INTO通常用于一次性任务,而INSERT INTO通常用于向表添加行。编辑:虽然您可以使用CREATE TABLE和INSERT INTO来完成SELECT INTO的工作,但是使用SELECT INTO不必事先知道表的定义。SELECT INTO可能包含在SQL中,因为它使诸如临时报告或复制表之类的任务变得更加容易。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server