CREATE USER DBCONFIG IDENTIFIED BY "DBCONFIG"
GRANT UNLIMITED TABLESPACE TO DBCONFIG
/
ALTER USER DBCONFIG ACCOUNT LOCK
/
CREATE TABLE DBCONFIG.LOGON_IPCONFIG
(
USERNAME VARCHAR2(30),
STARTIP VARCHAR2(15) NOT NULL,
ENDIP VARCHAR2(15),
EFF_DATE DATE DEFAULT SYSDATE,
EXP_DATE DATE DEFAULT SYSDATE+3,
LOGON_ENABLED CHAR(1) DEFAULT 'Y',
LOG_ENABLED CHAR(1) DEFAULT 'N',
STATE CHAR(1) DEFAULT 'A',
STATE_DATE DATE,
REMARK VARCHAR2(20)
)
/
CREATE OR REPLACE TRIGGER DBCONFIG.TR_UI_LOGON_IPCONFIG
BEFORE INSERT OR UPDATE ON DBCONFIG.LOGON_IPCONFIG
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
DECLARE
ip1 varchar(15);
ip2 varchar(15);
i integer;
l integer;
BEGIN
ip1 := :new.startip;
i := -1;
--测试是否数字
ip2 := to_char(to_number(replace(ip1,'.','')));
i := instr(ip1, '.');
if i=0 or i=l then raise_application_error(-20061,'INVALID STARTIP VALUE.'); end if;
--STARTIP的第1节
ip2 := lpad(substr(ip1,1,i),4,'0');
l := length(i