Ich schreibe diese Frage, da einige Fehler auftreten, wenn ich versuche, das Oracle-Paket dbms_comparison aus einer Oracle-Funktion zu verwenden.Aufruf des Oracle-Pakets dbms_comparison von der Funktion
Ich habe eine Funktion erstellt, die die scanID des durchgeführten Vergleichs zurückgeben soll, um den scanID-Wert aus Java abrufen zu können. Die Funktion wird jedoch nicht erfolgreich ausgeführt, da sie einige Fehler verursacht. Der dbms_comparison wird als Bezeichner erkannt und löst folgenden Fehler aus: PLS-00201: Bezeichner 'DBMS_COMPARISON' muss deklariert werden.
Unten finden Sie die von mir erstellte Oracle-Funktion. Jede Hilfe wäre willkommen.
CREATE OR REPLACE FUNCTION compareRecords
RETURN NUMBER IS
scanID number;
v_scan_info dbms_comparison.comparison_type;
v_compare_result boolean;
begin
v_compare_result:= dbms_comparison.compare(
comparison_name => 'synchronised',
scan_info => v_scan_info,
perform_row_dif => TRUE);
dbms_output.put_line('Scan id: '||v_scan_info.scan_id);
scanID := v_scan_info.scan_id;
if v_compare_result = TRUE then
dbms_output.put_line(a => 'Tables are synchronized!');
else
dbms_output.put_line(a => 'Warning! Data divergence found!'||chr(10));
end if;
RETURN scanID;
end compareRecords;
ich ausführen zu gewähren bin versucht, aber es nicht genügend Privilegien – gla315
schenkt @ gla315 verbinden Sie als sys ? – vercelli
Danke, es funktioniert – gla315