как вызвать процедуру в oracle для модели Laravel - PullRequest
1 голос
/ 28 октября 2019

Я новичок в этом, у меня есть проект, который я должен использовать процедуру в моем оракуле для запуска на модели / контроллере laravel, но сначала в модели у меня уже был такой запрос. Вот модель, которую я создаю

public static function updateskki($unitCode,$yearCode){
return DB::update("update PLNDEV.SKKI A SET (a.NO_PROGRAM,
a.DESKRIPSI_PROGRAM,
a.NO_ACTIVITAS,

...

WHERE A.UNIT_cODE=?
AND A.VERSION='Final'
and A.YEAR=?
and a.no_prk is not null 
and a.no_prk <> '-'
and exists (select 1 from PLNDEV.lkai d where d.no_prk=a.no_prk and
d.year=a.year and d.version=a.version)", [$unitCode,$yearCode]);}

здесь процедура

CREATE OR REPLACE PROCEDURE "UPDATE_SKKI_REV"(pYEAR varchar2
default '2019',pUNIT varchar2 default 'PPDL')
AS
BEGIN
UPDATE SKKI A
SET (a.NO_PROGRAM,
a.DESKRIPSI_PROGRAM,
a.NO_ACTIVITAS,
...
WHERE A.UNIT_cODE=?
AND A.VERSION='Final'
and A.YEAR=?
and a.no_prk is not null 
and a.no_prk <> '-'
and exists (select 1 from lkai d where d.no_prk=a.no_prk and
d.year=a.year and d.version=a.version);
END;

Я ожидал, что могу вызвать эту процедуру, чтобы изменить модель, которую я создал ранее,

Я абсолютно не знаю, какпозвонить, это поможет мне, если вы можете дать мне ссылку или несколько примеров с двумя параметрами. Спасибо, что прочитали мой вопрос.

1 Ответ

0 голосов
/ 28 октября 2019
CREATE OR REPLACE PROCEDURE "UPDATE_SKKI_REV"(pYEAR varchar2
default '2019',pUNIT varchar2 default 'PPDL')
AS
BEGIN
UPDATE SKKI A
SET (a.NO_PROGRAM,
a.DESKRIPSI_PROGRAM,
a.NO_ACTIVITAS,
...
WHERE A.UNIT_cODE=pUNIT
AND A.VERSION='Final'
and A.YEAR=pYEAR
and a.no_prk is not null 
and a.no_prk <> '-'
and exists (select 1 from lkai d where d.no_prk=a.no_prk and
d.year=a.year and d.version=a.version);
END;

И вы можете вызвать эту процедуру так:

DB::select("exec UPDATE_SKKI_REV(:year, :unit)", array ('year' => 1997, 'unit' => 'yourunit'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...