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数据库的用户在作了一次操作后,再也没有后续操作,但却长时间没有和数据库断开连接。对于一个小型的应用系统来讲,本身的连接数目就有限,这好像没有什么严重的后果,但如果对于一个大型的数据库应用。如税务、工商等,如果数据库的连接数目很多,对于数据库 ......
本人以前整理的数据库文件迁移过程,希望能够对大家有所帮助
1、sqlplus "sys/sys@服务名 as sysdba"
2、修改控制文件:
alter system set control_files='E:\oracle\oradata\myOracle_1\control01.ctl',
'E:\oracle\oradata\myOracle_1\control02.ctl','E:\oracle\oradata\my ......
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数据库的安装平台
select * from v$version;
查看表空间的使用情况
select sum(bytes)/(1024*1024) as free_space,tablespace_name
from dba_free_space
group by tablespace_name;
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTE ......