![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: Anydac LocalHost
Firebird Primärschlüssel Format ändern
Hi Friends,
könnt Ihr bitte mir erklären wie ich mein Prämärschlüssel in bestimmten Format haben kann statt ein laufenden Nummer. Info: Datenbank = Firebird v.2.1 Trigger used : ---> before Inser / Update begin if ( (new.PAX_ID is null) or (new.PAX_ID = 0) ) then new.PAX_ID = gen_id(GEN_ADRESS_ID, 1); end es generiert läfendenumer im PAX_ID ich möchte aber so haben : 20090101-001 (YYYYMMDD-läufendnummer)<--------Zusamenstellung der o.g. Format. Y = Year, M = Monat = Day)sollen natürlich auch aktuell sein. Feldformat der PAX_ID ist :Nummerisch Natürlich als AutoInc !! Thanx and guten Rutsch... |
Re: Firebird Primärschlüssel Format ändern
Wird der PK schon vom einer anderen Tabelle referenziert?
|
Re: Firebird Primärschlüssel Format ändern
Nein !
|
Re: Firebird Primärschlüssel Format ändern
Dann sollte eine Updatestatement die Tabelle durchändern können
|
Re: Firebird Primärschlüssel Format ändern
Wie ändre ich dass?........(bin ein newbie)
|
Re: Firebird Primärschlüssel Format ändern
Geht es So etwa ???
UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value geht es nicht per Generator Format ???? |
Re: Firebird Primärschlüssel Format ändern
Du musst ja nur einen Wert Ändern, allerdings würde ich wegen dem abweichenden Format zuerst die Tabelle um eine weitere Spalte erweitern, diese setzen
SQL-Code:
dann constraint droppen und neuen auf neue Spalte setzen. dann kann die alte PK-Spalte entfernt werden
update <tabelle> set ID = extract( year from current_Date) || extract(month from current_date) || extract( day from current_date) ||'-' || pax_id;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:58 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