我有这个功能,PostgreSQL当我尝试执行它时,我收到以下错误消息:
ERROR: control reached end of function without RETURN
CONTEXT: PL/pgSQL function "SA_PRJ".usp_add_timesheet_record_neww(integer,integer,numeric,numeric,character varying,character varying)
Run Code Online (Sandbox Code Playgroud)
我不确定,但我认为返回是问题所在,最后必须返回吗?
CREATE OR REPLACE FUNCTION "SA_PRJ".usp_add_timesheet_record_neww(p_uid integer, p_project_id integer, p_allocated_time numeric, p_achieved_time numeric, p_task_desc character varying, p_obs character varying)
RETURNS character varying AS
$BODY$
declare alloc_id integer;
declare project integer;
declare allocated integer;
declare allocated_time numeric;
BEGIN
project := p_project_id;
allocated_time := (SELECT SUM(fld_allocated_time)
FROM "SD_PRJ".tbl_project_timesheet
WHERE fld_project_id = project);
allocated := (SELECT fld_allocated_days FROM "SD_PRJ".tbl_project where fld_id = project);
if not "SA_ADM".usp_check_permission(p_uid, …Run Code Online (Sandbox Code Playgroud) 我试图在Oracle中做这样的事情:
select exp(300) from dual
Run Code Online (Sandbox Code Playgroud)
而且我得到数字溢出错误,我怎么能从300或更大的数字指数,因为我不知道.
谢谢.