문제 설명
T‑SQL의 한 스크립트에서 동일한 열 정의로 두 개의 테이블을 만드는 방법은 무엇입니까? (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개의 열 정의를 하나로 바꾸는 방법은 무엇입니까? 따라서 컬럼 이름을 변경하거나 하나의 테이블에 새 컬럼을 추가하는 경우 향후 오류가 발생하지 않도록(테이블은 항상 동일하게 정의되어야 함)?
참조 솔루션
방법 1:
In SQL Server, if you want to create a new table with the same column names and types, you can use:
select c.*
into _customer
from customer c
where 1 = 0;
You might want to drop _customer
before doing this.
Note: This does not copy constraints or triggers, so it is not an alternative to create table like
that is available in other databases. But your question seems to be about columns and types.
Also: age
is a horrible value to store into a table. It literally changes every day.
방법 2:
in oracle
CREATE TABLE new_table
AS (SELECT * FROM old_table);
as you updated question so sql server it will be
SELECT * INTO newtable
FROM oldtable
WHERE condition
(by fizik4、Gordon Linoff、Zaynul Abadin Tuhin)