“复制表”和“生成 SQL 脚本”区别

作者:leen 来源:ITPOW(原创) 日期:2007-3-23

在企业管理器中,打开数据库,在某个(些)表上点右键->复制,然后在记事本或查询分析器中粘贴,就可以获得创建该表的 SQL 语句。

在企业管理器中,打开数据库,在某个(些)表上点右键->所有任务->生成 SQL 脚本,同样可以获得创建该表的 SQL 语句。

二者有区别吗?

  • 有区别。
  • 使用“生成 SQL 脚本”功能要强大得多。

使用“生成 SQL 脚本”,功能要强大得多,可以删除目的表,可以包含索引,可以包含触发器等等。另外,可以说“生成 SQL 脚本”是智能的,它的目的就是,根据这个数据库的表在另外一个数据库中创建一个相同或相似的表。

而使用“复制”,除了其功能有限外,有时其 SQL 语句是不太适用的。比如如果含有外键的表的 SQL 语句在前面,而含有主键的表的 SQL 语句在后面,这样在创建时就会出错,因为没有先创建含有主键的表。而“生成 SQL 脚本”会先创建两个单独的表,它们之间没有关联,然后再利用 ALTER TABLE 语句来创建约束,这就不会造成 SQL 语句执行失败了。

下面列出“生成 SQL 脚本”的两个界面。

生成 SQL 脚本

生成 SQL 脚本

特别说明:大多数情况下,主键、外键、默认值等都是很重要的,创建一个表时不应该省略,所以大家可以按照图中所示将其选中(默认未选中)。

相关文章