Einzelnen Beitrag anzeigen

Blackpit

Registriert seit: 27. Feb 2019
77 Beiträge
 
#6

AW: Strukturänderung Ja/Nein-Felder in Firebird

  Alt 7. Sep 2019, 18:04
Hallo,
erstmal Danke für's Feedback.
Bin leider jetzt erst wieder dazugekommen mich zu melden.
so einfach ist die Sache leider nicht. Die Felder entsprechen jetzt ja Tabelleneinträge mit PK der aber unterschiedlich sein kann.
Ich müsste also die Felder mittels phonetischer Suche matchen oder ich erstell mir eine Zuordnungstabelle mit den Feldnamen und den korrrespondierenden Tabelleneinträgen über welchen ich dann den PK bekomme um einen Insert in der neuen Struktur machen zu können.
Bisher hab ich folgendes und komm nicht weiter:
Code:
execute block
returns (myID integer, table_name varchar(100),column_name varchar(100), column_value varchar(100))
as
begin
for select ID from comp group by ID into :myid do
begin
for select f.rdb$relation_name, f.rdb$field_name
from rdb$relation_fields f
join rdb$relations r on f.rdb$relation_name = r.rdb$relation_name
and r.rdb$view_blr is null
and (r.rdb$system_flag is null or r.rdb$system_flag = 0)
where (UPPER(f.RDB$RELATION_NAME) STARTING WITH UPPER('MyDef')) and
(UPPER(f.rdb$field_name) CONTAINING UPPER('_JN'))
order by 1, f.rdb$field_position into :table_name, :column_name do
    begin
    execute statement 'select cast(' || column_name || ' as varchar(100)) from ' || table_name || ' where COMP_ID =' || myid into :column_value;
    suspend;
    end
  end
end
Damit wollte ich von allen Komponenten die Tabellen und Einträge ermitteln.
Im Einzelmodus bekomme ich alle felder mit Inhalten, welche ich noch auf Value = 'j' filtern müsste.
Die Ergebnismenge wäre dann für ein Insertstatement geeignet. Ich steh irgendwie an.
Kann mich jemand mal schubsen?

@IBExpert
Zitat von IBExpert:
ich schätze aber, das ich anhand deiner Beschreibung dafür maximal 5-15 Minuten brauchen würde, um das umzusetzen
nehme ich gerne an

Geändert von Blackpit ( 7. Sep 2019 um 19:41 Uhr) Grund: Schleife richtig gesetzt
  Mit Zitat antworten Zitat