Hallo,
wenn ich das ganze in Prozeduren unterteile, kann ich es evtl auch gleich so machen:
In Proc GETTALLDETAILS bekomme ich alle Felder für alle Komponenten, in WorkOnDETAILS würde ich die Ergebnisse filtern, mit der Vergleichstabelle die entsprechende Bezeichnung ermitteln, in der Detailtabelle nachschlagen und die ID für das Insertstatement zurückbekommen und Insert ausführen.
Code:
procedure WorkOnDETAILS
as
variables
DET_ID integer;
BEZ varchar(100);
begin
for select myID, column_name, column_value
from GETALLDETAILS
where column_value = Upper(''j'')
into myid, column_name, column_value
do
begin
select Bezeichnung from Vergleichstabelle where ColField = colfield_name into :Bez;
suspend;
select ID from comp_details where Bezeichnung = :Bez into DET_ID;
suspend;
if (id is null) then
Insert into comp_details set bezeichnung = Bez
return DET_ID
suspend;
else
begin
Insert into comp_cat_detail set (KAT_ID,DET_ID,CompID) Values(1,:DET_ID,myID)
end
end
end;
Könnte das auch so gehen?