SQL Сервер вставляет данные во временную таблицу с первичным ключом - PullRequest
0 голосов
/ 13 марта 2020

SQL newb ie здесь. Оператор select не соответствует определению таблицы из-за первичного ключа временной таблицы. Что я делаю неправильно? Я не могу выбрать идентификатор из исходной таблицы, потому что он не существует.

create table ##tmp3 
(
    id int primary key,
    t_itbp char(9),
    t_ttyp char(3),
    t_ninv int,
    t_tdoc char(3),
    t_docn int,
    age int,
    t_ccur char(3),
    amt float,
    dsct float,
    adj float,
    amth1 float,
    dscth1 float,
    adjh1 float,
    cdam1 float,
    cdam2 float
)

select * from ##tmp3

EXEC('insert into ##tmp3    
          select
              t_itbp, t_ttyp, t_ninv, t_tdoc, t_docn,
              datediff(dd,t_docd,DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))) age,
              t_ccur, t_amnt as amt, t_dc1a as dsct, t_pada as adj,
              t_amth_1 as amth1, t_dc1h_1 as dscth1, t_padh_1 as adjh1,
              t_cdam_1 as cdam1, t_cdam_2 as cdam2
          from ' + @table1 + 
        ' where t_docn <> 0
            and (t_itbp in (select t_itbp from ##tmp1)
                 or t_itbp not in (select t_itbp from ##tmp2))')
...