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

Ausgedruckt am: 24.11.2024 um 04:11 Uhr

150631
150631 15.09.2024 um 10:59:47 Uhr
Goto Top
Bei dem ä im DFällig hat es mich kurz geschüttelt bzw geschuettelt ^^
PCFJKG
PCFJKG 15.09.2024 um 11:42:08 Uhr
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
150631
150631 15.09.2024 um 12:38:25 Uhr
Goto Top
Ja, das weiß ich. Sieht man aber trotzdem selten.
em-pie
em-pie 15.09.2024 um 12:44:42 Uhr
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 15.09.2024 um 12:52:42 Uhr
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 16.09.2024 aktualisiert um 12:34:59 Uhr
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.