2014-12-28 3 views
0

Я новичок в базе данных оракула. Попытка сделать простую функцию, но она возвращает полный запрос выбора, который находится в одинарных кавычках. Я не знаю почему. любезную помощь. и да! он в конце компиляции функции также говорит «подсказка: параметр nm никогда не использовался». Я запутался.возвращающий запрос в функции оракула

-- function to return a single letter grade 
 

 
create or replace function update_grade(nm number) return varchar2 
 
as 
 
grd varchar2(3); 
 
begin 
 
grd := 'select gradeid from grade where nm between marks_s and markks_e'; 
 
return grd; 
 
end; 
 

ответ

0

Вы не выполняет какой-либо запрос. Вы просто назначаете строку запроса возвращаемой переменной результата. Я не пытался скомпилировать его, но что-то вроде этого:

create or replace function update_grade(nm number) return varchar2 
    as 
    grd varchar2(3); 
    begin 
    SELECT gradeid INTO grd from grade where nm between marks_s and markks_e; 
    return grd; 
    end; 

Вы могли бы рассмотреть возможность добавления обработки для случая, когда не обнаружено никаких данных:

EXCEPTION 
     WHEN NO_DATA_FOUND THEN 
     grd:= NULL; 
+0

большое спасибо много. Я предполагаю, что проблема заключалась в том, что я использовал попытку выравнивания оператора select с объявленной переменной (grd) – Mani

Смежные вопросы