Я использую инструмент анализа данных, и я должен был принять значение от пользователя, передать это как параметр и сохранить его в таблице. Довольно напряженный, поэтому я сидел, чтобы написать это
create or replace
procedure complex(datainput in VARCHAR2)
is
begin
insert into dumtab values (datainput);
end complex;
Я выполнил это в SQL Developer, используя следующую инструкцию
begin
complex('SomeValue');
end;
Он работал нормально, и значение было вставлено в таблицу. Однако приведенные выше утверждения не поддерживаются в инструменте Data Analysis, поэтому я прибегнул к использованию функции. Ниже приведен код функции, который он компилирует.
create or replace
function supercomplex(datainput in VARCHAR2)
return varchar2
is
begin
insert into dumtab values (datainput);
return 'done';
end supercomplex;
Снова я попытался выполнить его в SQL Developer, но я получил , не выполнив операцию DML внутри запроса после выполнения следующего кода
select supercomplex('somevalue') from dual;
Мой вопрос: - Мне нужно выражение, которое может запустить указанную функцию в SQL Developer или - Функция, которая может выполнять то, что я ищу, которое может быть выполнено оператором select. - Если невозможно сделать то, что я прошу, я бы хотел повести, чтобы я мог сообщить своему менеджеру, как я очень новый (например, неделю назад?) В PL/SQL, поэтому я не знаю правил и синтаксисы.
P.S. Как бы я хотел, чтобы это был С++ или даже Java: (
ИЗМЕНИТЬ
Мне нужно запустить функцию на SQL Developer, потому что перед ее запуском в DMine (который является инструментом), чтобы проверить, действительно ли это или нет. Все, что недействительно в SQL, также неверно в DMine, но не наоборот.
Спасибо за помощь, я понял ситуацию и почему она незаконна/не рекомендуется