This is how I am delcaring the local variables:
team_counter number (38) := 0;
username varchar2(50) := '';
This is how I am trying to use/see their value after using some select into statement:
dbms_output.put_line(team_counter||'.'||username);
if team_counter< 30 AND username <>'' then
begin
dbms_output.put_line('yuhj');
end;
end if;
The second output is not being printed!
The first output is being printed as ‘1.tuser’ which I was expecting.
This is because you’re trying to compare a string with a 0 length string using an inequality operator.
Oracle assumes that 0 length strings are equivalent to NULL and will not evaluate comparisons that don’t use the NULL specific conditional. To quote:
Simply put this means that your IF statement should be:
As an additional note there’s no need for the
begin ... endaround thedbms_output.put_line. As you’re not catching any exceptions explicitly related to this call or declaring additional variables etc there’s no real need.