Как вызвать запрос на обновление в процедуре oracle - PullRequest
1 голос
/ 08 апреля 2010

У меня есть одна таблица, t1, в которой есть поля с именами userid, week и fields.Я хочу вызвать процедуру, которая принимает все три значения в качестве аргументов и запускает запрос на обновление.Как я могу это сделать?

Мой запрос на обновление должен выглядеть как

update t1 
    set week = (value of procedure argument) 
        , year = (value of procedure argument)
 where userid=(value of procedure argument);

1 Ответ

1 голос
/ 08 апреля 2010

Вы можете сделать что-то вроде этого:

CREATE OR REPLACE PROCEDURE my_update_proc (w number, y number, u number) IS
BEGIN
   UPDATE t1
   SET    week = w,
          year = y
   WHERE  userid = u;
   COMMIT;
END my_update_proc;
/

Обновление: Как правильно указал @Rene, вы, вероятно, не хотите, чтобы в вашей хранимой процедуре был оператор COMMIT. Однако, если вы удалите его, вызывающая сторона должна не забыть зафиксировать транзакцию.

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