2013-06-18 3 views
-2

Так что я пытаюсь вставить данные в таблицу в моей базе данных, которая имеет столбец PK, который имеет тип данных char. В этом столбце есть записи, которые отформатированы следующим образом: 27-5. Однако я не могу представить себе способ воспроизвести это с помощью инструкции insert.Тире (-) в символьном типе данных?

Мой текущий оператор вставки, очевидно, просто выполняет конкатенацию вручную:

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

Этот столбец случается создание двух последних столбцов в обратном порядке. Как я могу это достичь?

Edit: Обновление с определением таблицы (удалены некоторые вещи ненужным ключ)

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 

Edit: Не удается заключить в апострофы, несмотря на все ограничения ПК выключен с помощью sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'. Использование апострофов приводит к следующей ошибке: «Нарушение ограничения PRIMARY KEY» PK__ep_act_steps__22751F6C ». Невозможно вставить дубликат ключа в объект «kc.ep_act_steps».

+0

Что такое определение таблицы? Почему это не вычисленный столбец? –

+0

Я обновляю сообщение с определением таблицы, которое получил, щелкнув правой кнопкой мыши и нажав кнопку create to – Jfabs

+2

Это строка. Вы должны заключить в кавычки. -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

Смежные вопросы