pcfjkg
Goto Top

Unbegründete Meldung SQL-SERVER bei UPDATE

Im SQL-SERVER Management Studio wird ausgeführt:
WITH CTE AS (SELECT TOP 100 PERCENT [BuchTyp], [DFällig], [DRech] FROM [ASOL Accounting].[dbo].[000010164] WHERE LEFT([BuchTyp], 2) = 'AR' AND [DFällig] IS NULL AND [DRech] IS NOT NULL)  
UPDATE CTE SET [DFällig] = DATEADD(day, 28, [DRech])

Bei Meldungen 2 verschiedene Aussagen:

a) (1 Zeile betroffen)
Diese Meldung erscheint ca 30 mal, obwohl die CTE nur 1 Zeile generiert.
Manchmal zwischen den o.g. Zeilen aber auch: (0 Zeilen betroffen)

b) Meldung 207, Ebene 16, Status 1, Zeile 1 Ungültiger Spaltenname "MahnungenOPBetrag23".
Abgesehen davon, dass CTE eine angebliche Spalte "MahnungenOPBetrag23" gar nicht selektiert, gibt es diese
Spalte auch nicht im "Original" dieser Tabelle.

back-to-topgelöst +++

Ursache war eine Trigger in der obigen Tabelle im Server. Dieser muss angepasst werden. Zunächst Trigger gelöscht, damit Problem gelöst.
Sorry für eure Zeit, mein Fehler.

Einen schönen Sonntag,
PCFJKG

Content-ID: 668125

Url: https://administrator.de/contentid/668125

Printed on: September 17, 2024 at 11:09 o'clock

Trinatrium
Trinatrium Sep 15, 2024 at 08:59:47 (UTC)
Goto Top
Bei dem ä im DFällig hat es mich kurz geschüttelt bzw geschuettelt ^^
PCFJKG
PCFJKG Sep 15, 2024 at 09:42:08 (UTC)
Goto Top
Hallo Trinatrium,
Microsoft SQL Server Management Studio 14.0.17289.0
der SQL-SERVER "verträgt" Umlaute, vorherige Versionen kannn ich aber nicht beurteilen.

Danke und Grüße
PCFJKG
Trinatrium
Trinatrium Sep 15, 2024 at 10:38:25 (UTC)
Goto Top
Ja, das weiß ich. Sieht man aber trotzdem selten.
em-pie
em-pie Sep 15, 2024 at 10:44:42 (UTC)
Goto Top
Microsoft SQL Server Management Studio 14.0.17289.0
Zieh die Version mal höher. Aktuell müsste 20.x oder 21.x sein.

Ich bin neben den Umlauten (sehe ich auch ziemlich selten) eher verwundert, dass das Update über eine CTE gemacht wird und nicht direkt. Wird aber schon so seinen Hintergrund haben face-smile
ukulele-7
ukulele-7 Sep 15, 2024 at 10:52:42 (UTC)
Goto Top
Mir ist das nicht ganz klar, wenn du "cte" updatest, dann updated der die Tabelle [ASOL Accounting].[dbo].[000010164] dahinter? War mir so noch nicht bewusst.

Der Trigger auf [ASOL Accounting].[dbo].[000010164] verursacht dann a) und b), korrekt?
PCFJKG
PCFJKG Sep 16, 2024 updated at 10:34:59 (UTC)
Goto Top
Hi,
habe ich aus der MS-Dokumentation (Update geht tatsächlcih auch direkt).:
[ WITH <common_table_expression> [...n] ]  
UPDATE   
    [ TOP ( expression ) [ PERCENT ] ]   
    { { table_alias | <object> | rowset_function_limited   
         [ WITH ( <Table_Hint_Limited> [ ...n ] ) ]  
      }  
      | @table_variable      
    }  
    SET  ..

2. Antwort: Genau das ist es, der Trigger war das Problem. und ist somit gelöst.