In PL/SQL können Sie dies tun:
function user_exists (p_user_id users.user_id%type) return boolean
is
l_count integer;
begin
select count(*)
into l_count
from users
where user_id = p_user_id;
return (l_count > 0);
end;
Dies würde dann in Aufruf PL/SQL verwendet werden dies wie:
if user_exists('john') then
dbms_output.put_Line('John exists');
end if;
HINWEIS: ich habe count (*) in der Abfrage in dem Wissen, dass dies nur 1 oder 0 im Fall eines Primärschlüsselsuche zurück. Wenn es mehr als eine Zeile sein könnte, dann würde ich hinzufügen „und rownum = 1“, um die Abfrage unnötig zu verhindern viele Datensätze zu zählen, um herauszufinden, wenn überhaupt vorhanden ist:
function user_has_messages (p_user_id users.user_id%type) return boolean
is
l_count integer;
begin
select count(*)
into l_count
from messages
where user_id = p_user_id
AND ROWNUM = 1;
return (l_count > 0);
end;
Wunsch Ausgang STRING „JA“ oder „NEIN“ Und user_id ist Numberic – Matt
Wenn Sie eine Zeichenfolge zurückgeben möchten, dann bearbeiten Sie Ihre Frage nach dazu. Eine Zeichenfolge, die "JA" oder "NEIN" sagt, ist nicht dasselbe wie eine Rückgabe von wahr oder falsch, was ein boolescher Wert wäre. – Pere