易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE 判断表是否存在,存在则删除方法

Oracl 数据库也没有个半段表是否存在,存在则删除的语句,经过研究和改写他人的方法先隆重推出绝对能用性的Oracle判断表是否存在,存在则删除方法,在Oracle10g上试验通过。
方法
CREATE OR REPLACE FUNCTION PROC_NAME(T_NAME IN VARCHAR2) RETURN NUMBER IS
  V_CNT number;
  V_SQL  VARCHAR2(100);
BEGIN
  V_CNT := 0;
  SELECT COUNT(*) INTO V_CNT from USER_TABLES WHERE TABLE_NAME = T_NAME;
  IF V_CNT = 0 THEN
    RETURN 0;
  else
    V_SQL := 'DROP TABLE ' || T_NAME;
    execute immediate V_SQL;
    DBMS_OUTPUT.PUT_LINE(V_SQL ||' 执行成功');
    RETURN 1;
  END IF;
EXCEPTION
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(SQLCODE || SQLERRM);
    DBMS_OUTPUT.PUT_LINE(V_SQL);
     RETURN 3;
end;
调用
BEGIN
  IF PROC_NAME(TABLE_NAME) = 0 THEN
    DBMS_OUTPUT.PUT_LINE('OK');
  END IF;
END;
/


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

Oracle中删除包含物化视图的表空间的方法


今天删除的表空间包含物化视图报错,ORA-23515: 实体化视图和/或它们的索引存在于表空间中
看来是需要删除物化视图,执行删除操作,因为数据太大了,半天也没弄完,取消了,上网查另外一种方法,删除用户,指定cascade 参数,这样就可以了
我试了一下感觉用
drop user user_name cascade;
删除的还是挺快的,比删除物 ......

oracle 优化之 找出低效率sql 语句

SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,
  ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio,
  ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,
  SQL_TEXT
  from V$SQLAREA
  WHERE EXECUTIONS>0
  AND BUFFER_GETS > 0
  AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS ......

Oracle 连接 复习

SQL> select * from ta;
        ID NAME
---------- --------------------
         1 gorey
         2 gorey2
SQL> select * from tb;
        I ......

oracle重载操作符的例子

转自:http://download.oracle.com/docs/cd/B13789_01/server.101/b10759/statements_6004.htm
Creating User-Defined Operators: Example
This example creates a very simple functional implementation of equality and then creates an operator that uses the function:
CREATE FUNCTION eq_f(a VARCHAR2, b VARCHA ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号