【发布时间】:2014-09-08 16:44:23
【问题描述】:
我想创建一个控制访问过程,但我是 PL/SQL 新手,我不明白错误消息。如果我创建函数编译就可以了,但是如果我把代码放在授权模式中,我有一个错误。我使用方案类型:PL/SQL 函数返回布尔值。
ORA-06550:第 58 行,第 26 列:PLS-00103:在预期以下情况之一时遇到符号“”:开始函数杂注过程符号“开始插入”之前继续。ORA-06550:行60,第 21 列:PLS-00103:在预期以下情况之一时遇到符号“文件结尾”:(begin case declare end exception exit for goto if loop mod null pragma raise return select update while with
declare function F_ACCES_AUX_PAGES
return BOOLEAN
is
-- Indicateurs pages
v_admn_pages tbl_admn_pages%rowtype;
v_employes tbl_employes%rowtype;
BEGIN
-- Lire les indicateurs de la page
select *
into v_admn_pages
from TBL_ADMN_PAGES
where PK_NUMERO_PAGE = v('APP_PAGE_ID');
select E.*
into v_employes
from TBL_EMPLOYES E,
USERS U
where E.PK_ID_EMPLOYE = U.FK_ID_EMPLOYE
and USER_NAME = v('APP_USER');
-- Vérifier si indicateurs U permettent l'accès. indU = OUI et indP = OUI
if v_admn_pages.IND_ACC_GESTIONNAIRE = 'OUI' and
v_employes.IND_ACC_GESTIONNAIRE = 'OUI' then
RETURN TRUE;
elsif v_admn_pages.IND_ACC_CONSULTANT = 'OUI' and
v_employes.IND_ACC_CONSULTANT = 'OUI' then
RETURN TRUE;
elsif v_admn_pages.IND_ACC_CLIENT = 'OUI' and
v_employes.IND_ACC_CLIENT = 'OUI' then
RETURN TRUE;
elsif v_admn_pages.IND_ACC_RH = 'OUI' and
v_employes.IND_ACC_RH = 'OUI' then
RETURN TRUE;
elsif v_admn_pages.IND_ACC_ADMIN_GPS = 'OUI' and
v_employes.IND_ACC_ADMIN_GPS = 'OUI' then
RETURN TRUE;
elsif v_admn_pages.IND_ACC_ADMIN_GST = 'OUI' and
v_employes.IND_ACC_ADMIN_GST = 'OUI' then
RETURN TRUE;
elsif v_admn_pages.IND_ACC_ADMIN_GRH = 'OUI' and
v_employes.IND_ACC_ADMIN_GRH = 'OUI' then
RETURN TRUE;
elsif v_admn_pages.IND_ACC_ADMIN_GDP = 'OUI' and
v_employes.IND_ACC_ADMIN_GDP = 'OUI' then
RETURN TRUE;
elsif v_admn_pages.IND_ACC_ADMIN_GAC = 'OUI' and
v_employes.IND_ACC_ADMIN_GAC = 'OUI' then
RETURN TRUE;
elsif v_admn_pages.IND_ACC_ADMIN_GDA = 'OUI' and
v_employes.IND_ACC_ADMIN_GDA = 'OUI' then
RETURN TRUE;
elsif v_admn_pages.IND_ACC_ADMIN_GPS = 'OUI' and
v_employes.IND_ACC_ADMIN_GPS = 'OUI' then
RETURN TRUE;
elsif v_admn_pages.IND_ACC_ADMIN_RDD = 'OUI' and
v_employes.IND_ACC_ADMIN_RDD = 'OUI' then
RETURN TRUE;
elsif v_admn_pages.IND_ACC_ADMIN_GDE = 'OUI' and
v_employes.IND_ACC_ADMIN_GDE = 'OUI' then
RETURN TRUE;
elsif v_admn_pages.IND_ACC_ADMIN_GPR = 'OUI' and
v_employes.IND_ACC_ADMIN_GPR = 'OUI' then
RETURN TRUE;
elsif v_admn_pages.IND_ACC_ADMIN_GSC = 'OUI' and
v_employes.IND_ACC_ADMIN_GSC = 'OUI' then
RETURN TRUE;
else
RETURN FALSE;
end if;
END F_ACCES_AUX_PAGES;
【问题讨论】:
标签: oracle authorization schema oracle-apex