[英]How to create two tables with same column definition in one script in T-SQL?
我有两个脚本:
CREATE TABLE Customers
(
Id INT,
Age INT,
FirstName NVARCHAR(20),
LastName NVARCHAR(20),
Email VARCHAR(30),
Phone VARCHAR(20)
)
CREATE TABLE _Customers
(
Id INT,
Age INT,
FirstName NVARCHAR(20),
LastName NVARCHAR(20),
Email VARCHAR(30),
Phone VARCHAR(20)
)
唯一的区别是表名。
如何用一个替换 2 个列定义? 因此,将来在重命名列或向一个表中添加新列时不会出错(表必须始终相同定义)?
在 SQL Server 中,如果要创建具有相同列名和类型的新表,可以使用:
select c.*
into _customer
from customer c
where 1 = 0;
在执行此操作之前,您可能希望删除_customer
。
注意:这不会复制约束或触发器,因此它不是create table like
其他数据库中可用的create table like
的替代方法。 但是您的问题似乎与列和类型有关。
另外: age
是一个可怕的值,可以存储到表中。 它实际上每天都在变化。
在甲骨文中
CREATE TABLE new_table
AS (SELECT * FROM old_table);
当您更新问题时,sql server 将是
SELECT * INTO newtable
FROM oldtable
WHERE condition
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.