Oracle-Tabelle mit ASCII-Daten updaten ?

Ich habe eine ASCII-Telefonliste. In meiner Oracle-Anwendung gibt es eine Benutzertabelle. Ich würde gerne die Namensdaten der andernorts gepflegten Telefonliste mit der Benutzertabelle abgleichen: neuen Telefonteilnehmer in die Benutzertabelle aufnehmen, darin schon vorhandenen Satz evtl. updaten, in der Benutzertabelle einen ausgeschiedenen Telefonteilnehmer deaktivieren, usw.
Muss ich das Rad neu erfinden: wenn nein, wo finde ich am ehesten ein passendes Script,
wenn ja, wer hat Ideen, wie das effizient zu bewerkstelligen ist ?

Hi,

Muss ich das Rad neu erfinden: wenn nein,
wo finde ich am ehesten ein passendes
Script,

Weiß ich nicht, ich habe keinen.

wenn ja, wer hat Ideen, wie das effizient
zu bewerkstelligen ist ?

Vielleicht ein paar…

In
meiner Oracle-Anwendung gibt es eine
Benutzertabelle.

Ich gehe davon aus, daß die Benutzernamen in Deiner ASCII-Tabelle vorkommen (oder irgend ein eindeutiger Schlüssel, über den die Datensätze eindeutig zu identifizieren sind - sonst geht das nicht).

Speichere die ASCII-Liste in eine temporäre Tabelle z.B. tAscii (das geht mittels SQL-Loader, dem mußt Du die Struktur der Ascii-Datei mitteilen, alternativ mit Access und ODBC).

neuen Telefonteilnehmer in
die Benutzertabelle aufnehmen,

Insert into Benutzer (Benutzername, Telnr, usw, usf) select Benutzername, Telnr, usw, usf from tAscii where Benutzername not in(select benutzername from Benutzer);

darin
schon vorhandenen Satz evtl. updaten,

begin
for i in(select Benutzername, Telnr, usw, usf from tAscii where Benutzername in(select Benutzername from Benutzer)) loop
update Benutzer set telnr = i.telnr, usw = i.usw, usf = i.usf where Benutzername = i.Benutzername;
end loop;
end;

in
der Benutzertabelle einen ausgeschiedenen
Telefonteilnehmer deaktivieren,

Delete from Benutzer where Benutzername not in(select Benutzername from tAscii);

(bzw. update Benutzer set status=‚INAKTIV‘ where…)

usw.

…hier muß ich passen :smile:

HTH
Gruß
J.