`
johnston678
  • 浏览: 31475 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

oracle常用操作

阅读更多
简单介绍oracle数据库的常用操作命令


//删除表空间JSPHOME
drop tablespace JSPHOME including contents and datafiles;

//创建表空间JSPHOME :
create tablespace JSPHOME
logging
datafile 'C:\oracle\product\10.2.0\oradata\orcl\JSPHOME.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local; 

//删除用户oracle:
DROP USER oracle CASCADE

//创建用户并指定表空间
create user oracle identified by pass
default tablespace JSPHOME ;

//授于oracle 用户dba,resource的权限
grant dba,resource to oracle;

//新建表TEST_PERSON,主键为code
ALTER TABLE TZZY.TEST_PERSON
DROP PRIMARY KEY CASCADE;
DROP TABLE TZZY.TEST_PERSON CASCADE CONSTRAINTS;
CREATE TABLE TZZY.TEST_PERSON
(
  CODE  VARCHAR2(20 BYTE),
  NAME  VARCHAR2(20 BYTE),
  AGE   INTEGER,
  DEPT  VARCHAR2(20 BYTE)
)
TABLESPACE TZZY
PCTUSED    0
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      0
            BUFFER_POOL      DEFAULT
           )
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

CREATE UNIQUE INDEX TZZY.TEST_PERSON_PK ON TZZY.TEST_PERSON
(CODE)
LOGGING
TABLESPACE TZZY
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      0
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;


ALTER TABLE TZZY.TEST_PERSON ADD (
  CONSTRAINT TEST_PERSON_PK
PRIMARY KEY
(CODE)
    USING INDEX
    TABLESPACE TZZY
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          64K
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
               ));

//新建表TEST_INFO,主键id自增,通过序列生成器和触发器来实现id自增
ALTER TABLE TZZY.TEST_INFO
DROP PRIMARY KEY CASCADE;

DROP TABLE TZZY.TEST_INFO CASCADE CONSTRAINTS;
CREATE TABLE TZZY.TEST_INFO
(
  ID        INTEGER                             NOT NULL,
  INFOTIME  DATE,
  INFODESC  VARCHAR2(200 BYTE),
  PERSONID  VARCHAR2(20 BYTE)
)
TABLESPACE TZZY
PCTUSED    0
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      0
            BUFFER_POOL      DEFAULT
           )
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;

CREATE UNIQUE INDEX TZZY.TEST_INFO_PK ON TZZY.TEST_INFO
(ID)
LOGGING
TABLESPACE TZZY
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      0
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;

//触发器TZZY.TEST_INFO_T 用来操作序列器TZZY.TEST_INFO_S实现id自增
CREATE OR REPLACE TRIGGER TZZY.TEST_INFO_T
BEFORE INSERT ON TZZY.TEST_INFO FOR EACH ROW
BEGIN
SELECT TZZY.TEST_INFO_S.NEXTVAL INTO :NEW.ID FROM DUAL;
END;
/

ALTER TABLE TZZY.TEST_INFO ADD (
  CONSTRAINT TEST_INFO_PK
PRIMARY KEY
(ID)
    USING INDEX
    TABLESPACE TZZY
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          64K
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
               ));

//新增外键用来关联TEST_PERSON
ALTER TABLE TZZY.TEST_INFO ADD (
  CONSTRAINT FK_PERSON
FOREIGN KEY (PERSONID)
REFERENCES TZZY.TEST_PERSON
    ON DELETE CASCADE);

//新建序列器TZZY.TEST_INFO_S
DROP SEQUENCE TZZY.TEST_INFO_S;

CREATE SEQUENCE TZZY.TEST_INFO_S
  START WITH 1
  MAXVALUE 999999999999999999
  MINVALUE 1
  NOCYCLE
  CACHE 20
  NOORDER;

//新建触发器TEST_PERSON_CLEAR_T,当主表TEST_PERSON删除时,与其关联的子表TEST_INFO 都将被删除

DROP TRIGGER TZZY.TEST_PERSON_CLEAR_T;
CREATE OR REPLACE TRIGGER TZZY.TEST_PERSON_CLEAR_T
AFTER DELETE ON TEST_PERSON
FOR EACH ROW
DECLARE PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
   delete from TEST_INFO where PERSONID=:OLD.CODE;
   COMMIT;
END ;
/
分享到:
评论

相关推荐

    oracle 常用命令大全

    oracle 常用命令大全 oracle dba 常用命令 1 运行 SQLPLUS 工具 sqlplus 2 以 OS 的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入 SQLPLUS 命令提示符 sqlplus /nolog 5 在命令提示符以 OS 身份...

    oracle常用命令文档

    ### Oracle 常用命令与操作指南 #### 一、Oracle 安装与卸载注意事项 **1.1 Oracle 的安装** - **安装步骤:** 对于 Oracle 的安装,网络上有很多详细的指导教程。在安装过程中,需要注意的是,管理口令部分确保...

    oracle常用命令汇总

    Oracle常用命令是数据库管理员必须熟悉的基本操作,用于完成各种管理和维护任务。下面将根据给出的内容,详细解释一些常用的Oracle命令。 ### 第一章:日志管理 日志管理对于维护Oracle数据库的正常运行至关重要。...

    Linux下Oracle常用操作

    ### Linux下Oracle常用操作知识点详解 #### 一、概述 ...以上就是关于Linux环境下Oracle常用操作命令的知识点详解。通过这些命令,我们可以更好地管理和优化Oracle数据库,在日常工作中起到关键的作用。

    ORACLE常用命令

    ### ORACLE常用命令详解 #### 一、ORACLE的启动和关闭 在ORACLE数据库管理中,正确地启动和关闭数据库是非常重要的操作之一。这些操作不仅涉及到系统的稳定性,还关系到数据的安全性。 ##### 1、在单机环境下 ...

Global site tag (gtag.js) - Google Analytics