2013-06-18 2 views
-2

그래서 데이터 형식이 char 인 PK 열이있는 데이터베이스의 테이블에 데이터를 삽입하려고합니다. 현재 해당 열에는 27-5과 같은 형식의 레코드가 있습니다. 그러나 삽입 문을 사용하여이를 복제하는 방법을 생각할 수 없습니다. char 데이터 유형의 대시 (-)?

나의 현재 삽입 문

분명히 단지 수동으로 연결을 수행

Insert into kc.ep_act_steps Values (1,1-3,'Some Example Text',NULL,3,1)

그 열은 역순으로 마지막 두 컬럼의 생성으로 발생합니다. 이것을 어떻게 할 수 있습니까?

편집 : 테이블 정의로 업데이트 (일부 불필요한 키 물건을 제거)

USE [ICKC_2] 
GO 

/****** Object: Table [kc].[ep_act_steps] Script Date: 06/18/2013 17:27:35 ******/ 
SET ANSI_NULLS ON 


SET QUOTED_IDENTIFIER ON 


SET ANSI_PADDING ON 


CREATE TABLE [kc].[ep_act_steps](
[act_type] [char](16) NOT NULL, 
[act_id] [char](16) NOT NULL, 
[description] [varchar](2000) NULL, 
[ep_procedure] [int] NULL, 
[display_order] [smallint] NULL, 
[org_id] [int] NULL, 
CONSTRAINT [PK__ep_act_steps__22751F6C] PRIMARY KEY CLUSTERED 
(
[act_type] ASC, 
[act_id] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

GO 

편집 : 모든 PK 제약 sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'를 사용하여 해제에도 불구하고 아포스트로피 묶어야 할 수 없습니다. 아포스트로피를 사용하면 다음 오류가 발생합니다. 'PRIMARY KEY 제약 조건 위반'PK__ep_act_steps__22751F6C '. 'kc.ep_act_steps'개체에 중복 키를 삽입 할 수 없습니다. '

+0

테이블 정의 란 무엇입니까? 왜이 열이 계산되지 않습니까? –

+0

마우스 오른쪽 버튼을 클릭하여 작성한 테이블 정의로 게시물을 업데이트하겠습니다. – Jfabs

+2

문자열입니다. 따옴표로 묶어야합니다. -1 당신이 얻고있는 오류가 있다면, 놓지 않기 때문에 -1. –

답변

2
Insert into kc.ep_act_steps Values ('1','1-3','Some Example Text',NULL,3,1) 
+0

그런 식으로 아포스트로피로 입력 할 수 없으므로 다음 오류가 발생합니다. PRIMARY KEY 제약 조건 'PK__ep_act_steps__22751F6C'위반. 'kc.ep_act_steps'객체에 중복 키를 삽입 할 수 없습니다. 그러나 모든 제약 조건을 비활성화했습니다. – Jfabs

+0

@Jfabs 기본 키 **는 테이블 정의에서 볼 수있는 제약 조건입니다. – Yuck

+0

그러나 나는 'sp_MSForEachTable'ALTER TABLE을 사용하여 모든 제약 조건을 비활성화했습니다. NOCHECK CONSTRAINT ALL'' – Jfabs

관련 문제