使用之间有什么区别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。
3 回答
哈士奇WWW
TA贡献1799条经验 获得超6个赞
主要区别在于SELECT INTO MyTable将使用结果创建一个名为MyTable的新表,而INSERT INTO要求MyTable已存在。
仅在表不存在并且您要根据查询结果创建表的情况下,才使用SELECT INTO。因此,这两个陈述确实不可比。他们做的事情截然不同。
通常,SELECT INTO通常用于一次性任务,而INSERT INTO通常用于向表添加行。
编辑:
虽然您可以使用CREATE TABLE和INSERT INTO来完成SELECT INTO的工作,但是使用SELECT INTO不必事先知道表的定义。SELECT INTO可能包含在SQL中,因为它使诸如临时报告或复制表之类的任务变得更加容易。
- 3 回答
- 0 关注
- 615 浏览
添加回答
举报
0/150
提交
取消