CONN SYS/TIBERO
DROP USER USER1 CASCADE;
DROP USER USER2 CASCADE;
CREATE USER USER1 IDENTIFIED BY TIBERO ;
CREATE USER USER2 IDENTIFIED BY TIBERO ;
GRANT CONNECT, RESOURCE, CREATE VIEW TO USER1 ;
GRANT CONNECT, RESOURCE, CREATE VIEW TO USER2 ;
CONN USER1/TIBERO
CREATE TABLE T_TEST1 ( C1 NUMBER , C2 VARCHAR(10) );
CREATE TABLE T_TEST2 ( C1 NUMBER , C2 VARCHAR(10) );
TRUNCATE TABLE T_TEST1;
INSERT INTO T_TEST1 VALUES(1,'ASDF');
insert into user1.t_test1
select
trunc(dbms_random.value(1,100)) as number1, -- between 1 and 100 integer
dbms_random.string('X',5) as character1 -- randomly upper or lower case + number
from dual;
COMMIT;
CREATE VIEW V_TEST1 AS SELECT * FROM T_TEST1 WITH READ ONLY;
CREATE OR REPLACE PROCEDURE P_TEST1 (V_NO IN NUMBER)
IS
V_VAR VARCHAR(10);
BEGIN
SELECT C2 INTO V_VAR
FROM T_TEST1
WHERE C1=V_NO;
INSERT INTO T_TEST1 VALUES(2,'ASDF');
EXCEPTION WHEN NO_DATA_FOUND THEN INSERT INTO T_TEST1 VALUES(3,V_VAR);
END;
/
EXEC P_TEST1(1);
EXEC P_TEST1(878);
SELECT * FROM T_TEST1;
CREATE OR REPLACE FUNCTION F_TEST1 (I_NO NUMBER)
RETURN VARCHAR2
IS
V_VAR VARCHAR(10);
BEGIN
SELECT C2 INTO V_VAR
FROM T_TEST1
WHERE C1 = I_NO
AND ROWNUM=1;
RETURN V_VAR;
END;
/
SELECT F_TEST1(1) FROM DUAL;
CREATE OR REPLACE PACKAGE PKG_TEST1 AS
PROCEDURE PROC_PRINT;
FUNCTION FUN_PRINT(V_KEY VARCHAR2) RETURN VARCHAR2;
END PKG_TEST1;
/
CREATE OR REPLACE PACKAGE BODY PKG_TEST1 AS
FUNCTION FUN_PRINT(V_KEY IN VARCHAR2) RETURN VARCHAR2 IS
BEGIN
RETURN V_KEY;
END;
PROCEDURE PROC_PRINT IS
V_VAR VARCHAR2(100);
BEGIN
V_VAR := FUN_PRINT('V01');
DBMS_OUTPUT.PUT_LINE(V_VAR);
END;
END PKG_TEST1;
/
SET SERVEROUTPUT ON
EXEC PKG_TEST1.PROC_PRINT;
CREATE OR REPLACE TRIGGER TRG_TEST1
AFTER INSERT ON T_TEST1
FOR EACH ROW
BEGIN
IF INSERTING THEN
INSERT INTO T_TEST2 VALUES (:NEW.C1, 'I');
END IF;
END;
/
EXEC P_TEST1(1);
SELECT * FROM T_TEST2;
'Database > TEST Script' 카테고리의 다른 글
[Tibero] Partition table (0) | 2023.03.01 |
---|