![]() |
Datenbank: Firebird • Version: 3.0.5 • Zugriff über: IBExpert
Firebird CTE in Update oder Merge Statements
Hallo,
Ich habe folgendes Problem.
Code:
with TEST
as (select * from ARTIKEL) -- select * from test merge into ARTIKEL A using TEST T on T.ARTIKELID = A.ARTIKELID when matched then update set A.DATUMNEU = current_timestamp Der auskommentierte Select würde ohne Probleme funktionieren. Jedoch das Merge Into funktioniert nicht. Übersehe ich da was oder funktioniert das einfach nicht? Fehlermeldung: Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 5, column 1. merge. Laut "firebirdsql.org" sollten CTEs auch für Update und Merge-Statements funktionieren. Zitat:
![]() ** ich nutze Firebird 3.0.5.33220 und IBExpert 2020.2.12.1 |
AW: Firebird CTE in Update oder Merge Statements
Die von Dir genutzte Syntax weicht irgendwie von dem, was in der Doku steht ab.
![]() |
AW: Firebird CTE in Update oder Merge Statements
Ich sehe da leider keine Abweichung, wie sollte das denn stattdessen aussehen ?
|
AW: Firebird CTE in Update oder Merge Statements
Aaaaaah jetzt hab ich es verstanden, danke :-D.
So funktioniert es.
Code:
merge into ARTIKEL A
using (with TEST as (select * from ARTIKEL) select * from TEST) T on T.ARTIKELID = A.ARTIKELID when matched then update set A.DATUMNEU = current_timestamp |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz