как вставить в таблицу из другой таблицы, а также с помощью функции - PullRequest
1 голос
/ 20 марта 2019

Я попробовал ниже, но получил нарушение первичного ключа.

insert into a_c ([a_id],  [C_id], [ac_id])
  select  t2.A,t2.C , dbo.getac_id() from  table_2 t2

Я также пытался использовать курсор, он не работал.

DECLARE insert_cursor CURSOR FOR select  t2.A,t2.C from  table_2 t2

-- open cursor and fetch first row into variables
OPEN insert_cursor FETCH NEXT FROM insert_cursor into @cid,@aid

WHILE @@FETCH_STATUS=0
BEGIN
--insert into table row by row
insert into ing_spe.[dbo].ACTIVITY_CONTACT ( [A_ID],[C_ID], [A_C_ID]) SELECT @aid,@cid, dbo.getac_id() 
-- get next available row into variables
FETCH NEXT FROM insert_cursor into @cid,@aid

END
close insert_cursor
Deallocate insert_cursor
GO

Примечание: dbo.getac_id () возвращает одно значение.Логика внутри него выполняет некоторые вычисления и извлекает максимальное значение ac_id из таблицы a_c возвращает уникальное значение.Столбец " ac_id " является первичным ключом.

** желаемый вывод **

[a_id],    [C_id],   [ac_id]
a1         c1          1011
a1         c2          1012
a2         c1          1013
a3         c4          1014
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...