728x90
반응형
안녕하세요
★ 테이블 생성쿼리
USE [test_db]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TB_TEST](
[SEQ] [int] IDENTITY(1,1) NOT NULL,
[TYPE] [varchar](5) NULL,
[TITLE] [varchar](100) NULL,
[CONTENTS] [varchar](2000) NULL,
[ORDR] [varchar](5) NULL,
[USE_AT] [varchar](1) NULL,
[FRST_REGISTER_NM] [varchar](10) NULL,
[FRST_REGISTER_PNTTM] [datetime] NULL,
[LAST_UPDUSR_NM] [varchar](10) NULL,
[LAST_UPDUSR_PNTTM] [datetime] NULL
) ON [PRIMARY]
GO
★ 다중 인서트 ( SEQ 컬럼은 1씩 자동 생성되게 했으므로 인서트구문에서 빠짐)
USE [test_db]
GO
INSERT INTO [dbo].[TB_TEST]
([TYPE]
,[TITLE]
,[CONTENTS]
,[ORDR]
,[USE_AT]
,[FRST_REGISTER_NM]
,[FRST_REGISTER_PNTTM]
,[LAST_UPDUSR_NM]
,[LAST_UPDUSR_PNTTM])
VALUES
('TYPE_1', 'TITLE_1', 'CONTENTS_1', 1, 'Y', 'ADMIN',GETDATE(),'ADMIN2',GETDATE()),
('TYPE_1', 'TITLE_2', 'CONTENTS_2', 2, 'Y', 'ADMIN',GETDATE(),'ADMIN2',GETDATE()),
('TYPE_2', 'TITLE_3', 'CONTENTS_3', 3, 'N', 'ADMIN',GETDATE(),'ADMIN2',GETDATE()),
('TYPE_2', 'TITLE_4', 'CONTENTS_4', 4, 'Y', 'ADMIN',GETDATE(),'ADMIN2',GETDATE()),
('TYPE_2', 'TITLE_5', 'CONTENTS_5', 5, 'Y', 'ADMIN',GETDATE(),'ADMIN2',GETDATE())
GO
결과 (실패)
메시지 8152, 수준 16, 상태 30, 줄 4
문자열이나 이진 데이터는 잘립니다.
문이 종료되었습니다.
TYPE 컬럼길이가 varchar(5) 인데 insert 구문에서 길이값을 넘겨서 insert실패
DROP TABLE을 해서 새롭게 테이블을 재생성하거나
컬럼 길이값을 수정하는 방법 두가지가 있습니다.
★ 컬럼 길이값을 수정하는 방법
ALTER TABLE TB_TEST ALTER COLUMN TYPE varchar(10);
★ DROP & CREATE
USE [test_db]
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TB_TEST]') AND type in (N'U'))
DROP TABLE [dbo].[TB_TEST]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TB_TEST](
[SEQ] [int] IDENTITY(1,1) NOT NULL,
[TYPE] [varchar](10) NULL, /* 변경 */
[TITLE] [varchar](100) NULL,
[CONTENTS] [varchar](2000) NULL,
[ORDR] [varchar](5) NULL,
[USE_AT] [varchar](1) NULL,
[FRST_REGISTER_NM] [varchar](10) NULL,
[FRST_REGISTER_PNTTM] [datetime] NULL,
[LAST_UPDUSR_NM] [varchar](10) NULL,
[LAST_UPDUSR_PNTTM] [datetime] NULL
) ON [PRIMARY]
GO
INSERT 구문 시작
USE [test_db]
GO
INSERT INTO [dbo].[TB_TEST]
([TYPE]
,[TITLE]
,[CONTENTS]
,[ORDR]
,[USE_AT]
,[FRST_REGISTER_NM]
,[FRST_REGISTER_PNTTM]
,[LAST_UPDUSR_NM]
,[LAST_UPDUSR_PNTTM])
VALUES
('TYPE_1', 'TITLE_1', 'CONTENTS_1', 1, 'Y', 'ADMIN',GETDATE(),'ADMIN2',GETDATE()),
('TYPE_1', 'TITLE_2', 'CONTENTS_2', 2, 'Y', 'ADMIN',GETDATE(),'ADMIN2',GETDATE()),
('TYPE_2', 'TITLE_3', 'CONTENTS_3', 3, 'N', 'ADMIN',GETDATE(),'ADMIN2',GETDATE()),
('TYPE_2', 'TITLE_4', 'CONTENTS_4', 4, 'Y', 'ADMIN',GETDATE(),'ADMIN2',GETDATE()),
('TYPE_2', 'TITLE_5', 'CONTENTS_5', 5, 'Y', 'ADMIN',GETDATE(),'ADMIN2',GETDATE())
GO
728x90
반응형