Я работаю с SQL Server уже много лет. Но в моем текущем проекте было требование, чтобы мне пришлось преобразовать процедуру, написанную на SQL Server, в Oracle (в SQL Инструмент разработчика).
Но, похоже, много минут изменения синтаксиса, которые я не могу выяснить с помощью брошенных сообщений об ошибках.
Вот моя хранимая процедура:
CREATE OR REPLACE PROCEDURE PROC_MyPROC
(
PAGENUMBER IN NUMBER
, PAGESIZE IN NUMBER
, SEARCHTERM IN VARCHAR2
, TOTAL IN NUMBER
) AS
BEGIN
IF(PAGENUMBER=1)
THEN
SELECT COUNT(distinct mastraccnt.T1Column1) INTO TOTAL
FROM Table1 mastraccnt
JOIN Table2 req on LTRIM(RTRIM(req.T2Column1)) = LTRIM(RTRIM(mastraccnt.T1Column1))
WHERE LOWER(RTRIM(LTRIM(mastraccnt.T1Column1))||' - '||RTRIM(LTRIM(req.T2Column2))) like
'%'||LOWER(SEARCHTERM)||'%';
END IF;
SELECT distinct RTRIM(LTRIM(mastraccnt.T1Column1)) as MasterAccountId,
RTRIM(LTRIM(mastraccnt.T1Column1))||' - '|| RTRIM(LTRIM(req.T2Column2)) as MasterAccountName,
TOTAL AS TotalRows
FROM Table1 mastraccnt
JOIN Table2 req on LTRIM(RTRIM(req.T2Column1)) = LTRIM(RTRIM(mastraccnt.T1Column1))
WHERE LOWER(RTRIM(LTRIM(mastraccnt.T1Column1))||' - '||RTRIM(LTRIM(req.T2Column2))) like
'%'||LOWER(SearchTerm)||'%'
ORDER BY MasterAccountName
OFFSET PAGESIZE * (PAGENUMBER - 1) ROWS
FETCH NEXT PAGESIZE ROWS ONLY;
END PROC_MyPROC;
При компиляции я получаю эти ошибки, не знаю, что они означают. Может кто-нибудь помочь мне, что не так с моей процедурой?
