项目9 创建与管理图书借阅网站项目序列和同义词

9.2 任务1——序列

--- 9.2.2 创建序列 ---
-- 例9.1 --

CONN SYS /BOOKBORROW AS SYSDBA;
GRANT CREATE SEQUENCE TO BOOKUSER;
CONN BOOKUSER /BOOKUSER;
-- 授予图书借阅网站系统数据库开发用户BOOKUSER创建序列的权限 --
CREATE SEQUENCE SEQ_USERS_ID
START WITH 1
INCREMENT BY 1
NOCYCLE
NOMAXVALUE;
-- 创建序列 --

--- 9.2.3 使用序列 ---
-- 例9.2 --

SELECT SEQ_USERS_ID.CURRVAL FROM DUAL; -- 提示错误信息 --
SELECT SEQ_USERS_ID.NEXTVAL FROM DUAL; -- 查看序列的下一个值 --

-- 例9.3 --

DELETE FROM USERS; -- 先删除USERS表中数据 --
INSERT INTO USERS(ID,NAME)VALUES(SEQ_USERS_ID.NEXTVAL,'张翔');
-- 使用序列,自动生成列值 --
SELECT * FROM USERS; -- 查看表中数据 --
SELECT SEQ_USERS_ID.CURRVAL FROM DUAL; -- 查看序列当前值 --
SELECT SEQ_USERS_ID.NEXTVAL FROM DUAL; -- 查看序列下一个值 --
INSERT INTO USERS(ID,NAME)VALUES(SEQ_USERS_ID.NEXTVAL,'孙瑜');
SELECT * FROM USERS;
-- 序列号的生成独立于表,所以,同一序列可用于一个或多个表 --

-- 例9.4 --

CREATE TABLE USERS2
    (
        ID Number,
        TEL Varchar2(15)
    );
-- 创建表 --
INSERT INTO USERS2(ID,TEL)VALUES(SEQ_USERS_ID.NEXTVAL,'0413-56618031');
-- 向USERS2中插入一个新的记录 --
SELECT * FROM USERS2;
-- 查看表中数据 --
INSERT INTO USERS(ID,NAME)VALUES(SEQ_USERS_ID.NEXTVAL,'宋轶');
-- 再向USERS1表中插值 --
SELECT * FROM USERS;
-- 查看表中数据 --

--- 9.2.4 更改序列 ---
-- 例9.5 --

ALTER SEQUENCE SEQ_USERS_ID
INCREMENT BY 2
MAXVALUE 100
CYCLE;
-- 更改序列SEQ_USERS_ID,设置序列的增量为2,最大值为100 --

--- 9.2.5 删除序列 ---

DROP SEQUENCE SEQ_USERS_ID;

9.3 任务2——同义词

--- 9.3.2 创建同义词 ---
-- 例9.7 --

CONN SYS /BOOKBORROW AS SYSDBA; -- 以管理员的身份连接 --
GRANT CREATE SYNONYM TO BOOKUSER; -- 给用户赋予创建视图的权限 --
CONN BOOKUSER /BOOKUSER; -- 再次使用户BOOKUSER连接成功 --
CREATE SYNONYM U FOR USERS;
-- 创建同义词 --
DESC U;
-- 使用同义词查看USERS表结构 --
SELECT * FROM U;
-- 使用同义词查看USERS表数据 --

--- 9.3.3 更改同义词 ---
-- 例9.8 --

CREATE OR REPLACE SYNONYM U FOR USERS2;
-- 修改同义词U,使其代表USERS2; --

--- 9.3.4 删除同义词 ---
-- 例9.9 --

DROP SYNONYM U;
署名-非商业性使用-禁止演绎 4.0 国际 协议(CC BY-NC-ND 4.0)
最后修改:2022 年 12 月 23 日
如果觉得我的文章对你有帮助,可以点个赞再走喔