2016-06-08 2 views
0

Так что я хочу вставить данные из tableA в tableB в зависимости от их pvkey. Каждая строка имеет свою pvkey, а одна строка под одной и той же pvkey может иметь несколько записей, и каждая из этих записей имеет свою уникальную cnkey. Cnkey уникален для любых данных в таблице. Когда я вставляю данные из таблицы A, нет столбца Cnkey, а в таблицеB есть Cnkey.Вставьте данные из таблицы A в таблицуB

INSERT INTO CONTHIST (CONTTYPE, ASSIGNEDTO, CONTDATE, SOURCE, CNKEY) 
    SELECT ContactType, ASSIGNEDTO, DATE, SourceCode, ?!?! 
    FROM MopUpEOC 
    WHERE Pvkey in (1,5,7,9,11,20) 

Может ли вы помочь мне с этим, спасибо: D

+3

Так что же вы хотите вставить в столбец Cnkey? – jarlh

+0

не уверен, в чем проблема. Если столбец не существует, просто не включайте его в инструкцию insert. Возьмите 'CNKEY' из строки INSERT INTO'LINE (Предположим, что она имеет значение по умолчанию) – Takarii

+0

В ней говорится: Невозможно вставить значение NULL в столбец« CNKEY », table 'Progress.dbo.CONTHIST'; столбец не допускает нулей. INSERT терпит неудачу. Заявление было прекращено. Это происходит, когда я не включаю столбец Cnkey. Я попытался вставить 0, но это должна быть какая-то запись, потому что каждый раз, когда вставлена ​​новая запись, ему нужно иметь Cnkey, которая уникальна для каждой записи. –

ответ

0

нескольких вещей, которые могли бы помочь вам:

  • Проверьте CnKey является серийным первичным ключом вашей таблицы. Если это серийный первичный ключ, у вас нет проблем.
  • Проверьте, есть ли CnKey: NOT NULL, если нет, вы можете изменить его значение позже или вы можете установить значение по умолчанию.

Например, столбец CnKey является NOT NULL, то вы можете использовать следующий запрос, чтобы позволить NULL:

ALTER TABLE TableB ALTER COLUMN CnKey INT NULL 

Изменения INT к реальному типу вашей колонки.

Или установить значение по умолчанию:

ALTER TABLE TableB ADD CONSTRAINT ConstraintName DEFAULT 'DefaultName' FOR CnKey; 
+0

Данные и тип данных Cnkey являются плавающими, а первичный ключ - true. –

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