Я не могу объявить переменные в функции pl / sql? - PullRequest
4 голосов
/ 12 января 2011

Это действительно простой вопрос, но я не могу найти синтаксис для этого где-либо.

У меня есть что-то вроде этого:

FUNCTION some_function
(
t_string IN VARCHAR2
) RETURN NUMBER IS

some_variable NUMBER;

BEGIN
//logic
END some_function;

Это соответствует объявлению some_variableи говорит мне, что ожидал "язык", где / как я объявляю переменные?Я видел примеры, которые делали это таким образом, но по какой-то причине это не работает.

Большое спасибо, Fugu

Ответы [ 2 ]

5 голосов
/ 12 января 2011

Не найдено ничего плохого в объявленной переменной:

create or replace FUNCTION some_function
(
t_string IN VARCHAR2
) RETURN NUMBER 
IS
some_variable NUMBER;

BEGIN

return some_variable;

END some_function;

Возвращено NULL, как и ожидалось:

select some_function('ff') from dual  
2 голосов
/ 12 января 2011

Проблема в том, что в объявлении функции нет ключевых слов CREATE OR Replace, как показано в ответе @ Michael.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...