Ich versuche, einen kleinen PL/SQL-Block zu schreiben, in dem eine winzige Abfrage läuft. Problem ist, dass ich nicht ganze Daten durch Abfrage zurückgegeben sehen möchte, sondern um zu sehen, ob etwas existiert oder nicht. Mein Block sieht wie folgt aus:PL/SQL - Zeile setzen, während Datensätze gefunden und nicht gefunden werden
procedure check_data as
table_data varchar2;
BEGIN
SELECT * into table_data FROM (
with temp_table as (select a_number, a_group, a_date from table1
where a_id in (15)
)
SELECT b_city, b_district, b_nationality, b_age
FROM table2 JOIN temp_table ON a_id=b_id
WHERE b_age>=10
and b_age<23
ORDER BY b_nationality DESC);
IF SQL%FOUND THEN
raise_application_error(-20001,'OK, found something')
else DBMS_OUTPUT.PUT_LINE ('found nothing!');
end if;
end;
Allgemeinen kämpfen mit temp_table erklärt (ich PLS-00201: Bezeichner ‚table_data‘ deklariert werden muss) und setzen die Ergebnisse auf dem Bildschirm.
Ich werde für irgendwelche Tipps dankbar sein.
http://stackoverflow.com/questions/3434437/whats-the-most-efficient-way-to-check-if-a-record-exists-in-oracle – Rene
@ mc88. Bitte stellen Sie sicher, dass Sie auch die Tabellen-DDL veröffentlichen, wenn Sie möchten, dass jemand an Ihrem nicht funktionierenden Code arbeitet. – XING
Welche Struktur von table_data? Was willst du, wenn eine Abfrage existiert - in etwas auswählen? –