Fout itgendid082: De tabel 'BDERUECK' is niet bij te werken omdat deze geen primaire sleutel heeft

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
)