[sql] INSERT 문을 사용하여 레코드 삽입 시 특정 컬럼의 값 자동 생성 방법
  1. IDENTITY 컬럼 사용
    • SQL Server에서는 테이블에 IDENTITY 속성을 지정할 수 있습니다. 이 속성을 가진 컬럼에 값을 지정하지 않으면 데이터베이스가 자동으로 값을 생성하여 삽입합니다.
    • 예시:
      CREATE TABLE Employees (
          EmployeeID int IDENTITY(1,1) PRIMARY KEY,
          LastName varchar(255),
          FirstName varchar(255)
      );
      
      INSERT INTO Employees (LastName, FirstName) VALUES ('Smith', 'John');
      
  2. 시퀀스 사용
    • Oracle과 PostgreSQL 등의 데이터베이스에서는 시퀀스를 사용하여 값을 자동 생성할 수 있습니다. 시퀀스를 생성한 후 NEXTVAL 함수를 사용하여 값을 가져와 INSERT 문에 사용합니다.
    • 예시 (Oracle):
      CREATE SEQUENCE employee_id_seq
        MINVALUE 1
        START WITH 1
        INCREMENT BY 1
        CACHE 10;
      
      INSERT INTO Employees (EmployeeID, LastName, FirstName)
      VALUES (employee_id_seq.NEXTVAL, 'Smith', 'John');
      
  3. 기본값 설정
    • 모든 데이터베이스에서는 기본값을 사용하여 특정 컬럼이 값을 지정하지 않았을 때 자동으로 생성될 수 있습니다.
    • 예시:
      CREATE TABLE Employees (
          EmployeeID int PRIMARY KEY,
          LastName varchar(255),
          FirstName varchar(255) DEFAULT 'Unknown'
      );
      
      INSERT INTO Employees (EmployeeID, LastName) VALUES (1, 'Smith');
      

이러한 방법들을 사용하여 SQL INSERT 문을 통해 레코드를 삽입할 때 특정 컬럼의 값을 자동으로 생성할 수 있습니다.