内容同上 ,在线等,解决即给分

解决方案 »

  1.   

    使用select * from user_tables 可以查询出所有的用户表:)其它的等待答案.
      

  2.   

    使用 select * from user_indexes 可以查询出所有的用户表索引,期待剩下的答案.
      

  3.   

    查所有用户的表在all_tables
    主键名称、外键在all_constraints
    索引在all_indexes
    但主键也会成为索引,所以主键也会在all_indexes里面。
    具体需要的字段可以DESC下这几个view,dba登陆的话可以把all换成dba。
      

  4.   

    查询用户表的索引(非聚集索引):
    select * from user_indexes
    where uniqueness = 'NONUNIQUE'查询用户表的主键(聚集索引):
    select * from user_indexes
    where uniqueness = 'UNIQUE'晕,在楼主的提示下,查不多弄出来了:):):)
      

  5.   

    select * from user_tables;
    只能查询当前用户的table;
    connect tcm/tcm;
    select * from user_tables;
    只能查tcm用户的表
      

  6.   

    1、查找表的所有索引(包括索引名,类型,构成列):select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表2、查找表的主键(包括名称,构成列):select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表3、查找表的唯一性约束(包括名称,构成列):select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 要查询的表4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表查询外键约束的列名:select * from user_cons_columns cl where cl.constraint_name = 外键名称查询引用表的键的列名:select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名5、查询表的所有列及其属性select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查询的表
      

  7.   

    怎样到出Oracle数据文件呀?
      

  8.   

    回复11楼:oracle中用imp/exp 导入/导出dmp文件
      

  9.   


    也可以用spool
    eg:
    SQL> spool info.txtSQL> select * from test;       AGE NAME---------- -------------------- 23 jack1 row selected.SQL> spool offSQL> !vi info.txt
    将以上的查询信息保存到了当前目录下的info.txt文件中。
      

  10.   

    /*1-获取任意用户下的主键字段*/
    select cons.* from all_cons_columns cons,  all_constraints con
    where con.constraint_type='P' 
    and cons.table_name = '表名'
    and cons.constraint_name=con.constraint_name;
    /*2-获取本用户下的主键字段*/
    select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = '表名'
      

  11.   

    我有个问题谁能帮我解决下呢?就是在精细审计(FGA)中添加策略要看所有表的变化,我是这么写的
    execute DBMS_FGA.ADD_POLICY(object_schema=>'用户名‘,object_name=>'所有表’,policy_name=>'策略名‘);然后在所有表中怎么表示呢?all_tables,user_tables,all_tab_comments都不好用,求高人解答!!!
      

  12.   

    借用一下地方,谢谢了!BEGIN
    FOR BONUS_CURSOR IN(SELECT EMPNO FROM T_EMP)
    LOOP
    PK_EMP.sp_bonus(BONUS_CURSOR.EMPNO,'201205');
    END LOOP;
    END;create or replace PACKAGE PK_EMP IS
    PROCEDURE SP_BONUS(E_ID T_SAL.EMPNO%TYPE, Y_Months  VARCHAR2);
    FUNCTION SF_MONTHS(E_id T_EMP.Empno%TYPE, Y_Month VARCHAR2) RETURN NUMBER;
    END PK_EMP;create or replace PACKAGE BODY PK_EMP ASPROCEDURE SP_BONUS
     (E_ID T_SAL.EMPNO%TYPE,
      Y_Months  VARCHAR2)
    IS 
      ROW_T_SAL  T_SAL%ROWTYPE;
      MONEY NUMBER;
      NUM NUMBER;
    BEGIN
      SELECT COUNT(*) INTO NUM FROM T_EMP WHERE MGRNO=E_ID;
      SELECT  * INTO ROW_T_SAL FROM T_SAL WHERE EMPNO=E_ID;
      MONEY:=SF_MONTHS(ROW_T_SAL.EMPNO, y_months);
      IF row_t_sal.GRADE<7 AND NUM=0 THEN
        MONEY:= row_t_sal.SAL+MONEY*ROW_T_SAL.COMM-ROW_T_SAL.LEAVE_SAL;
      ELSE
        MONEY:= row_t_sal.SAL+MONEY*ROW_T_SAL.COMM;
      END IF;
      UPDATE T_EMP SET BONUS=MONEY WHERE EMPNO=E_ID;
      DBMS_OUTPUT.PUT_LINE(E_ID||'号员工'|| y_months||'的工资为:'||MONEY);
    END SP_BONUS;
    FUNCTION  SF_MONTHS
    (E_id T_EMP.Empno%TYPE,
     Y_Month VARCHAR2)
    RETURN NUMBER
    AS
       S_Months NUMBER;
       V_DATE DATE:=LAST_DAY(TO_DATE(Y_Month,'YYYYMM'));
       V_C_DATE DATE;
    BEGIN
        SELECT CHANGE_DATE INTO V_C_DATE FROM T_EMP WHERE EMPNO=E_id;
        SELECT ROUND((months_between(CASE WHEN  V_C_DATE IS NULL  THEN V_DATE
                                          WHEN  V_C_DATE<=V_DATE THEN V_C_DATE
                                          ELSE V_DATE END, HIREDATE)-
             MONTHS_BETWEEN(NVL(RESUME_DATE,SYSDATE), NVL(SUSPEND_DATE,SYSDATE))),0) 
         INTO S_Months
              FROM T_EMP WHERE EMPNO=E_id;
    RETURN(S_Months);
    END SF_MONTHS;END PK_EMP;
      

  13.   


    CREATE TABLE ORDER_DEL
    (
      ORDER_NO  VARCHAR2(6),
      ORDER_ITEM  VARCHAR2(2),
    PRODUCT_NO  VARCHAR2(6)  NOT NULL,
    PRODUCT_CNT  NUMBER(5),
    ORDER_PRICE  NUMBER(5,2),
    CONSTRAINT PRODUCT_CNT_CK
           CHECK(PRODUCT_CNT>0),
    CONSTRAINT ORDER_DEL_PK
           PRIMARY KEY(ORDER_NO,ORDER_ITEM)
    );