[sql] INSERT 문을 사용하여 레코드 삽입 시 특정 컬럼의 값 자동 생성 방법
- 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');
- SQL Server에서는 테이블에
- 시퀀스 사용
- 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');
- Oracle과 PostgreSQL 등의 데이터베이스에서는 시퀀스를 사용하여 값을 자동 생성할 수 있습니다. 시퀀스를 생성한 후
- 기본값 설정
- 모든 데이터베이스에서는 기본값을 사용하여 특정 컬럼이 값을 지정하지 않았을 때 자동으로 생성될 수 있습니다.
- 예시:
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 문을 통해 레코드를 삽입할 때 특정 컬럼의 값을 자동으로 생성할 수 있습니다.