zoukankan      html  css  js  c++  java
  • ORACLE操作列

    一.下面介绍oracle数据库操作列的CURD操作

    --学生表  STUDENT
    CREATE TABLE STUDENT(
          ID NUMBER(18) NOT NULL,
          NAME VARCHAR2(20),
          NO  VARCHAR2(12),
          AGE NUMBER(3)
    );
    

    二.修改表字段

    -- 添加学生表 CLASS学生所在的班级字段
    DECLARE
      AN_FLAG NUMBER DEFAULT 0;
    BEGIN
      SELECT COUNT(1)
      INTO AN_FLAG
       FROM USER_TAB_COLUMNS
       WHERE TABLE_NAME='STUDENT'
       AND COLUMN_NAME='CLASS';
      IF AN_FLAG = 0 THEN
        EXECUTE IMMEDIATE 'ALTER TABLE STUDENT ADD CLASS VARCHAR2(30)';
        EXECUTE IMMEDIATE 'COMMENT ON COLUMN STUDENT.CLASS IS ''学生所在的班级''';
      END IF;
    END;
    /
    

    三.修改表字段的类型

    -- 修改学生表 AGE字段的类型
    DECLARE
      AN_FLAG NUMBER DEFAULT 0;
    BEGIN
      SELECT COUNT(1)
      INTO AN_FLAG
       FROM USER_TAB_COLUMNS
       WHERE TABLE_NAME='STUDENT'
       AND COLUMN_NAME='AGE';
      IF AN_FLAG = 1 THEN
        EXECUTE IMMEDIATE 'ALTER TABLE STUDENT MODIFY AGE CHAR(3)';
      END IF;
    END;
    /

    四.修改表字段的名称

    -- 修改学生表 AGE字段的名称
    DECLARE
      AN_FLAG NUMBER DEFAULT 0;
    BEGIN
      SELECT COUNT(1)
      INTO AN_FLAG
       FROM USER_TAB_COLUMNS
       WHERE TABLE_NAME='STUDENT'
       AND COLUMN_NAME='AGE';
      IF AN_FLAG = 1 THEN
        EXECUTE IMMEDIATE 'ALTER TABLE STUDENT RENAME COLUMN AGE TO AGE_TO';
      END IF;
    END;
    / 

    五.删除表字段 

    -- 修改学生表 删除AGE字段
    DECLARE
      AN_FLAG NUMBER DEFAULT 0;
    BEGIN
      SELECT COUNT(1)
      INTO AN_FLAG
       FROM USER_TAB_COLUMNS
       WHERE TABLE_NAME='STUDENT'
       AND COLUMN_NAME='AGE';
      IF AN_FLAG = 1 THEN
        EXECUTE IMMEDIATE 'ALTER TABLE STUDENT DROP COLUMN AGE';
      END IF;
    END;
    / 
  • 相关阅读:
    深入理解递归函数的调用过程
    关于字符串和字符数组的再讨论
    返回字符串的长度
    再写静态变量的有效范围
    一道关于返回指针和返回数组名的面试题
    关于TCP/IP的三次握手和四次挥手解释
    C++面向对象的编程(二)
    关于面试宝典中的检测并修改不适合的继承
    argc和argv
    基于C的文件操作(转)
  • 原文地址:https://www.cnblogs.com/hongwz/p/5718934.html
Copyright © 2011-2022 走看看