Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Константы и прагмы [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо