![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Константы и прагмы [Oracle]
DPashin © (2002-07-01 09:32:00)в Oracle 8 в пакете описываю константу:
MyConst CONSTANT integer := 0;
Когда я пытаюсь эту константу использовать в функции, на которую навешана
pragma restrict_references(MyFunc,wnps,wnds);
получаю ошибку "Процедура нарушает установленную прагму".
Как мне от этого избавиться?
MishGan (2002-07-02 11:47:00) [1]Можно код пакета в студию. У меня вот так работает:
CREATE OR REPLACE PACKAGE "DBO".LDP_P2 AS
TempVar INTEGER;
CONSTANT integer := 0;
FUNCTION GetTempVar RETURN INTEGER;
PRAGMA RESTRICT_REFERENCES (GetTempVar, WNDS, WNPS);
END LDP_P2;
/
CREATE OR REPLACE PACKAGE BODY "DBO".LDP_P2 AS
FUNCTION getTempVar RETURN INTEGER IS
BEGIN
RETURN CONSTANT;
END getTempVar;
END LDP_P2;
/
GRANT EXECUTE ON "DBO".LDP_P2 TO LDUSER;
GRANT EXECUTE ON "DBO".LDP_P2 TO LDADMIN;
select "DBO".LDP_P2.getTempVar from dual;
(Oracle 8.0.5.1 for Linux)
- (2002-07-02 09:34:00) [2]up