首先 IF SQL % NOTFOUND THEN    这个判断是没用的; 
因为如果上面的查询没有查到结果, 就直接抛出异常了;  (因为有INTO v_dept_name)所以异常会跳出正常流程,直接到exception 段, 对应的exception类是no_data_found, 不是no_row_found , 所以异常一直抛到最外层, 由oracle报错