function - Comparison between my day in table and the sysdate in server -


i'm trying write function return day_id after comparing current day name on server , day name on table contents

**my code is

 create or replace   function getsysdate  return char    v_day char(20) ;  v_day_id days.day_id%type ;  v_day_name days.day_name%type ;  begin  select day_id, to_char(sysdate, 'day', 'nls_date_language=arabic'), day_name  v_day_id,v_day,v_day_name  days  v_day_name = v_day ;  return v_day_id ;  end; 

but unfortunately,it's no data found !

note ! : datatype of day_name varchar (20 byte)

**the error  connecting database admin.  ora-01403: no data found  ora-06512: @ "admin.getsysdate", line 9  ora-06512: @ line 5  process exited.  disconnecting database admin.  ** table   day_id number  day_name   varchar2(20 byte) 

your filter using local variables have not been initialised; in fact you're trying set them , use them filter @ same time, doesn't make sense.

where v_day_name = v_day 

... never going match records table.

i think want:

create or replace function getsysdate return days.day_id%type   v_day_id days.day_id%type; begin   select day_id   v_day_id   days   day_name = to_char(sysdate, 'day', 'nls_date_language=arabic');   return v_day_id; end; / 

i don't know how days table populated, i'm guessing day_id 1-7 , day_name corresponding day, , in region can't simple to_char. this sql fiddle shows function based on assumption, ids in wrong order. i've shown both assignment in anonymous block, , used plain sql.


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -