PRAGMA Question
Date: 1996/11/26
Message-ID: <E1HIvL.78E_at_sunyit.edu>#1/1
I need some help regarding pragmas. I keyed a program directly from the
Oracle PL/SQL Programming book for generating random numbers as follows:
CREATE OR REPLACE PACKAGE RANDOM AS
PROCEDURE ChangeSeed(p_NewSeed IN NUMBER);
FUNCTION Rand RETURN NUMBER;
PRAGMA RESTRICT_REFERENCES(rand,WNDS);
PROCEDURE GetRand (p_RandomNumber OUT NUMBER) IS
BEGIN
p_randomNumber := Rand;
END GetRand;
FUNCTION RandMax (p_MaxVal IN NUMBER) RETURN NUMBER IS
BEGIN
RETURN MOD (Rand,p_MaxVal) + 1;
END RandMax;
PROCEDURE GetRandMax(p_RandomNumber OUT NUMBER,
p_MaxVal IN NUMBER) IS
BEGIN
p_RandomNumber := RandMax(P_MaxVal);
END GetRandMax;
BEGIN
ChangeSeed(TO_NUMBER(TO_CHAR(SYSDATE,'SSSSS')));
END Random;
/
This gives me the error
PLS-00452 'rand' violates its associated pragma.
Can someone explain why I get these pragma errors despite copying it right from the Oracle Press book.
Thanks,
Scott Humphrey
Senior Programmer Analyst
xsah1_at_sunyit.edu
Received on Tue Nov 26 1996 - 00:00:00 CET