CREATE OR REPLACE FUNCTION c_to_f (degree NUMBER) RETURN NUMBER IS buffer NUMBER; BEGIN buffer := (degree * 9/5) + 32; RETURN buffer; END; --第一种 前提方法必须创建了的,而不是临时的 select c_to_f(45) from dual;
DECLARE a number; b number; c number; FUNCTION findMax(x IN number, y IN number) RETURN number IS z number; BEGIN IF x > y THEN z:= x; ELSE Z:= y; END IF; RETURN z; END; BEGIN a:= 23; b:= 45; --第二种:赋值,此时不能使用select ...from dual调用方法 c := findMax(a, b); dbms_output.put_line(' Maximum of (23,45): ' || c); END; /
create or replace function valid_numb(n_numb IN number) return boolean is begin if n_numb < 10 then return true; else return false; end if; end; / declare n_test number := &Test; begin --第三种,放在if里面 if (valid_numb(n_test)) then dbms_output.put_line('Valid'); else dbms_output.put_line('Invalid'); end if; end; /
select ...from dual调用方法,前提是方法已经创建了的。