SQL Server中双点..的含义及备份语句正确性确认
关于SQL Server中
SELECT * INTO语句的语法说明 1. 语法中..的含义
在SQL Server的对象引用规则里,完整的表引用格式是数据库名.架构名.表名。这里的..是省略了架构名的简写方式,执行时会自动使用当前会话的默认架构(通常为dbo),所以MY_BACKUP_DATABASE..CustomersTemporaryTable等价于MY_BACKUP_DATABASE.dbo.CustomersTemporaryTable。
2. 你的理解正误分析
- 第一个理解正确:这条语句确实会将当前数据库中
Customers表的所有数据,复制到MY_BACKUP_DATABASE数据库下的CustomersTemporaryTable中。需要注意的是,这个CustomersTemporaryTable是普通用户表,并非SQL Server的临时表(临时表名称以#或##开头)。 - 第二个理解错误:
SELECT * INTO语句的核心特性就是自动创建目标表——它会复刻源表的结构(字段名、数据类型等)生成新表,同时将源表的数据插入进去。如果目标表已经存在,执行该语句会直接报错,因此不需要提前创建目标表。
内容的提问来源于stack exchange,提问作者Jaime Montoya
相关产品推荐
相关产品推荐

