zoukankan      html  css  js  c++  java
  • Oracle库基本操作

    --oracle 获取表名称,字段
    with vA as
    (
      SELECT USER_TAB_COLS.TABLE_NAME as 表名,USER_TAB_COLS.COLUMN_NAME as 列名 , 
      USER_TAB_COLS.DATA_TYPE as 数据类型, USER_TAB_COLS.DATA_LENGTH as 长度, USER_TAB_COLS.NULLABLE as 是否为空,
      USER_TAB_COLS.COLUMN_ID as 列序号,user_col_comments.comments as 备注 
      FROM USER_TAB_COLS 
      inner join user_col_comments on user_col_comments.TABLE_NAME=USER_TAB_COLS.TABLE_NAME 
      and user_col_comments.COLUMN_NAME=USER_TAB_COLS.COLUMN_NAME
      where USER_TAB_COLS.TABLE_NAME like 'T_A_%' and USER_TAB_COLS.COLUMN_NAME like '%CHECK_USER%'
    )
    select 'alter table ' ||表名 ||' modify '||列名||' VARCHAR2(120) ;'
    from vA
    
    
    --新增字段
    alter table table_name add(userName VARCHAR2(255));
    
    --设置字段不为空, 给出默认值
    alert table table_name add(userName varchar2(255 CHAR) default '这是默认值' not null) ;
    
    --修改列字段长度
    alter table T_A_DRUG modify DRUG_PRODUCT_CODE VARCHAR2(50);
    
    --修改列名称
    alter table T_A_DRUG rename column PRODUCT_NAME to DRUG_PRODUCT_CODE;
    
    --修改列字段类型
     alter table T_FILE_UPLOAD_www modify (upload_date varchar2(50));
    
    
    --删除字段
    alter table table_name drop column  userName;
    
    --修改表名称
        alter table old_table_name RENAME TO new_table_name;
    
        rename 旧表名称 to 新表名称;
    
    
    --删除表中已有的主键约束(有命名)
        alter table students drop constraint yy;
    
    --删除表中已有的主键约束(无命名)
        可用 SELECT   *   from   user_cons_columns;
        查找表中主键名称得student表中的主键名为SYS_C002715
        alter table student drop constraint SYS_C002715;
    
    --向表中添加主键约束
    alter table student add constraint pk_student primary key(studentid); 
    
    --查看表中约束
    
    
    
    
    --oracle 更改名称:
    
    
    --查询所有表名:
    select t.table_name from user_tables t;
    --查询所有字段名:
    select t.column_name from user_col_comments t;
    --查询指定表的所有字段名:
    select t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';
    --查询指定表的所有字段名和字段说明:
    select t.column_name, t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';
    --查询所有表的表名和表说明:
    select t.table_name,f.comments from user_tables t inner join user_tab_comments f on t.table_name = f.table_name;
    --查询模糊表名的表名和表说明:
    select t.table_name from user_tables t where t.table_name like 'BIZ_DICT%';
    select t.table_name,f.comments from user_tables t inner join user_tab_comments f on t.table_name = f.table_name where t.table_name like 'BIZ_DICT%';
    
    --查询表的数据条数、表名、中文表名
    select a.num_rows, a.TABLE_NAME, b.COMMENTS
    from user_tables a, user_tab_comments b
    WHERE a.TABLE_NAME = b.TABLE_NAME
    order by TABLE_NAME;
    
    
    
    一,查看数据库里面所有用户:
    select * from dba_users; 
    前提是你是有dba权限的帐号,如sys,system。
    
    二,查看你能管理的所有用户:
    select * from all_users;  
    三,查看当前用户信息 :
    select * from user_users; 
    
    
    
    
    
    
    
    
    
    1、创建存储过程
    create or replace 
    procedure sql_test(sex in nvarchar2, out_return out sys_refcursor) 
    is
    begin
      open out_return for 'select sex,sex_name from t_a_sex';
    end;
    
    
    2、调用带输出列表的存储过程
    var type_cur refcursor
    var para nvarchar2(20)
    execute :para :='1';
    exec pro1(:para,:type_cur);
    print type_cur;
    
    
    
    
    
    
    
    -- 日期
    select to_char(sysdate,'yyyy-MM-dd HH24:MI:SS') as vDate
    from dual;
    
    
    
    
    
    
    
    
    --获取表名称、字段、等信息
    with vM as 
    (
        select * from all_col_comments 
        where OWNER='BYYY' 
        and (table_name like 'T_FILE%'  or table_name like 'T_RULE%' or table_name like 'T_JOBLOG%'
        or table_name like 'T_REPORT_LOG%' or table_name like 'T_A%' or table_name like 'T_E%')
        and table_name not like 'T_AUTH%' and table_name not like 'T_ERROR%'
    ),vA as
    (
      SELECT USER_TAB_COLS.TABLE_NAME as 表名,USER_TAB_COLS.COLUMN_NAME as 列名 , 
      USER_TAB_COLS.DATA_TYPE as 数据类型, USER_TAB_COLS.DATA_LENGTH as 长度, USER_TAB_COLS.NULLABLE as 是否为空,
      USER_TAB_COLS.COLUMN_ID as 列序号,user_col_comments.comments as 备注 
      FROM  all_TAB_COLS USER_TAB_COLS 
      inner join  vM user_col_comments on user_col_comments.TABLE_NAME=USER_TAB_COLS.TABLE_NAME 
      and user_col_comments.COLUMN_NAME=USER_TAB_COLS.COLUMN_NAME
      where USER_TAB_COLS.OWNER='BYYY'
    )
    select * 
    from vA
    order by 表名,列名
    
    
    
     with vM as 
     (
         select * from all_col_comments 
         where OWNER='BASE' 
         and (table_name like 'T_FILE%'  or table_name like 'T_RULE%' or table_name like 'T_JOBLOG%'
         or table_name like 'T_REPORT_LOG%' or table_name like 'T_A%' or table_name like 'T_E%')
         and table_name not like 'T_AUTH%' and table_name not like 'T_ERROR%'
     ),vA as
     (
       SELECT USER_TAB_COLS.TABLE_NAME as 表名,USER_TAB_COLS.COLUMN_NAME as 列名 , 
       USER_TAB_COLS.DATA_TYPE as 数据类型, USER_TAB_COLS.DATA_LENGTH as 长度, USER_TAB_COLS.NULLABLE as 是否为空,
       USER_TAB_COLS.COLUMN_ID as 列序号,user_col_comments.comments as 备注 
       FROM all_TAB_COLS USER_TAB_COLS 
       inner join  vM user_col_comments on user_col_comments.TABLE_NAME=USER_TAB_COLS.TABLE_NAME 
       and user_col_comments.COLUMN_NAME=USER_TAB_COLS.COLUMN_NAME
       where USER_TAB_COLS.OWNER='BYYY'
     )
     select * 
     from vA
     order by 表名,列名
  • 相关阅读:
    JavaScript可以做嵌入式开发了
    将指定字符串按指定长度进行剪切
    ASP.NET MVC Controller向View传值的几种方式
    SqlServer将数据库中的表复制到另一个数据库
    PAYPAL 支付,sandbox测试的时候遇到异常:请求被中止: 未能创建 SSL/TLS 安全通道,以及解决方法。
    c# ref与out的区别
    浅谈Tuple之C#4.0新特性
    CentOS7系列学习--修改用户密码
    关于页面多个ajax请求阻塞的问题
    关于overflow的学习
  • 原文地址:https://www.cnblogs.com/xubao/p/11584804.html
Copyright © 2011-2022 走看看