Hallöle...
Zitat:
definiert habe, dass der Standardwert 0 sein soll (KASSE_BOOLEAN ist ein Smallint).
...nur zur Info. Der Standard Wert gilt
NUR für neue Datensätze. Nicht beim select
alter Datensätze (vor der Änderung auf Standardwert) die noch NULL haben.
Das verstehe ich leider noch nicht ganz
Wenn es in der Quelle NULL
ist, dieses Feld dann auch
explizit als NULL ins Ziel geschrieben wird, dann bleibt das auch NULL ... wäre doch grob fahrlässig, wenn sich die Daten beim Kopieren verändern.
Dagegen ein Neues Feld, welches es vorher noch nicht gab, und das nicht ans Ziel übergibt, es also nicht im INSERT vorkommt, da nimmt die
DB dann das DEFAULT.
Wenn im generierten "INSERT"-Statement explizit einem Feld NULL übergeben wird, dann wird bei den meisten
DBMS auch NULL in die Tabelle geschrieben.
Der "DEFAULT"-Wert wird vom
DBMS nur verwendet, wenn das Feld
nicht im Statement vorkommt, oder dort explizit DEFAULT übergeben wird.
Ich weiß nicht, ob FieDAC, bzw. der TFDBatchMoveDataSetWriter Letzteres kann.
https://stackoverflow.com/questions/...default-values
...