T-SQL의 한 스크립트에서 동일한 열 정의로 두 개의 테이블을 만드는 방법은 무엇입니까? (How to create two tables with same column definition in one script in T-SQL?)


문제 설명

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 fizik4Gordon LinoffZaynul Abadin Tuhin)

참조 문서

  1. How to create two tables with same column definition in one script in T‑SQL? (CC BY‑SA 2.5/3.0/4.0)

#DDL #sql-server #SQL #tsql






관련 질문

비밀번호로 식별되지 않는 mysql 부여 권한 (mysql grant privileges without identified by password)

PL/SQL 블록의 문자열 변수에서 사용자 생성 (Create user from string variables in a PL/SQL block)

dbms_metadata.get_ddl을 더 예쁘고 유용하게 만드는 방법 (How to make dbms_metadata.get_ddl more pretty/useful)

Postgres에서 테이블의 모든 인덱스를 삭제하려면 어떻게 해야 합니까? (How can I drop all indexes of a table in Postgres?)

DB2의 카탈로그에서 "처음에 기록되지 않은" 테이블을 식별하는 방법 (How to identify tables with "not logged initially" from catalog in DB2)

blob 및 clob 데이터 유형이 있는 oracle11g에 테이블을 생성한 다음 다음 쿼리를 실행했습니다. (I have create table in oracle11g which has blob and clob data type and then I have run following query)

PL/pgsql DDL을 작성하여 redshift에서 스키마를 생성한 다음 ddls를 반복하여 각 스키마에 테이블을 생성하는 방법은 무엇입니까? (How to write PL/pgsql DDL to create schemas in redshift and then looping the ddls to create tables in the respective schemas?)

즉시 실행으로 디렉토리 객체를 생성하려고 할 때 ORA-00900 Invalid SQL 문을 받는 이유는 무엇입니까? (Why am I getting ORA-00900 Invalid SQL statement when trying to create a directory object with execute immediate?)

SQLAlchemy: 부분적으로 지정된 관계 (SQLAlchemy: partially specified relationship)

T-SQL의 한 스크립트에서 동일한 열 정의로 두 개의 테이블을 만드는 방법은 무엇입니까? (How to create two tables with same column definition in one script in T-SQL?)

지리 데이터 유형에서 네이티브 함수 반환 (Native Function Return from Geography Data Type)

Oracle - 커서를 기반으로 테이블 삭제를 위한 동적 함수 생성 (Oracle- creating dynamic function for deleting tables based on cursor)







코멘트