Error itgendid082: The table 'BDERUECK' is not update-able since it doesn't have a primary key

Bij het uitvoeren van het volgende statement in PSQL treedt deze foutmelding op onder 23.0, terwijl die onder 22.0 niet optrad:

Error itgencun016:
Error itgendid082:
The table ‘BDERUECK’ is not update-able since it doesn’t have a primary key.

SQL-statement:

  --
  -- Mark timesheets of zero duration as processed. These can't
  -- loaded into Exact Online.
  --
  update bderueck@tiso
  set    ppsout   = 'J'
  where  ppsout   = 'N'
  and    kzdelete = 'N'
  and    nttozeit = 0
  and    vonzeit  = biszeit
  and    datum    >= 20190501
  and    biszeit  != 0
  and    funktion in ('11', '12', '13', '14', '20', '21', '22')
  and    banummer in ( select /*+ low_cost */ tisocode from pjtselected@inmemorystorage )
  --
  -- Filter op datumbereik.
  --
  and    datum >= coalesce(cast('20060101' as number), datum)
  and    datum
         <
         cast(coalesce('', '29991231') as number)

Is het mogelijk de definitie te delen van deze tabel? Waar mogelijk is een create table-statement het gemakkelijkst.

Op welk platform draait deze ODBC-verbinding?

De tabel draait op ODBC (naar SQL Server 7.0).

Dit werkt onder 22.0 en 23.0:

update bderueck@tiso
set    ppsout   = ppsout

Dit werkt NIET op 23.0, maar WEL op 22.0:

update bderueck@tiso
set    ppsout   = ppsout
where  ppsout   = 'N'

De create table aangemaakt via Export to Table van een query hierop is:

create table :1
( BATYPE                         char null
, BANUMMER                       varchar2(4000) null
, BAPOS                          varchar2(4000) null
, LFDNR                          number(10, 0) not null
, AENDNR                         number(10, 0) not null
, FIRMA                          number(5, 0) not null
, DATUM                          number(10, 0) null
, VONZEIT                        number(10, 0) null
, BISZEIT                        number(10, 0) null
, NTTOZEIT                       number(10, 0) null
, PAUSZEIT                       number(10, 0) null
, GUTMENGE                       float null
, AUSSCHUSS                      float null
, PSNR                           number(10, 0) null
, FUNKTION                       varchar2(4000) null
, UGRUND                         varchar2(4000) null
, ARBMENGE                       float null
, AGRUND                         varchar2(4000) null
, LOANR                          varchar2(4000) null
, LOAGRP                         varchar2(4000) null
, APLATZ                         varchar2(4000) null
, AUSKSTNR                       varchar2(4000) null
, BELKSTNR                       varchar2(4000) null
, TE                             float null
, TEEINHEIT                      varchar2(4000) null
, TR                             float null
, TREINHEIT                      varchar2(4000) null
, TEBASE                         varchar2(4000) null
, FEHLER                         number(10, 0) null
, TQMCHECK                       char null
, BENUTZER                       varchar2(4000) null
, BUCHART                        char null
, KZDELETE                       char null
, PPSOUT                         char null
, PAUSEAB                        number(5, 0) null
, ZEITGRAD                       float null
, KORRGRAD                       float null
, ERARBZEIT                      number(10, 0) null
, BETRAG                         float null
, LLBEWERTET                     char null
, LLFEHLER                       number(5, 0) null
, LLLOANR                        varchar2(4000) null
, SGRUND                         varchar2(4000) null
, PSPERSNR                       varchar2(4000) null
, LOAGRUND                       varchar2(4000) null
, LOAGRPGRUND                    varchar2(4000) null
, BATEME                         float null
, ARBENDE                        varchar2(4000) null
, ARTIKEL                        varchar2(4000) null
, BACHARGE                       varchar2(4000) null
, VONVIRT                        number(10, 0) null
, BISVIRT                        number(10, 0) null
, NTTOVIRT                       char null
, CALCAPL                        varchar2(4000) null
, SPLIT                          number(10, 0) not null
, NSDATUM                        number(10, 0) null
, NSVON                          number(5, 0) null
, NSBIS                          number(5, 0) null
, WERKZEUG                       varchar2(4000) null
, BEDIZEIT                       number(10, 0) null
, POOLNR                         number(10, 0) null
, IGRUND                         varchar2(4000) null
, MITINFO                        char null
, PAUSEDIT                       char null
, ZEITEDIT                       char null
, LEISTLOH                       char null
, EINZPRAE                       char null
, GRUPPRAE                       char null
, EINZAKK                        char null
, GRUPAKK                        char null
, UEBGRAD                        number(5, 0) null
, X_ERRCODE                      varchar2(4000) null
, X_ERRTEXT                      varchar2(4000) null
, BUCHSTEU                       number(10, 0) null
, TRANSID                        number(10, 0) null
, AKTDATUM                       number(10, 0) null
, AKTZEIT                        number(5, 0) null
, PROZFERT                       float null
, MELDCODE                       varchar2(4000) null
, TRANSFERIERT                   char null
, SERIALNO                       varchar2(4000) null
, TEAMREPR                       char null
, TEAMNR                         varchar2(4000) null
, LAGERORT                       varchar2(4000) null
)