1、打开plsql客户端,登录oracle数据库;
2、创建一个测试表,create table test_exists(id number, value varchar2(20));
3、编写sql,插入oracle系统视图,查询刚建的表是否存在,
select * from user_tables t where table_name= upper('test_exists');可以看到有查询结果,也就是说存在该表;
4、相反的,编写sql,查询test_exists2表是否存在,因没有返回结果,则说明该表并不存在;select * from user_tables t where table_name= upper('test_exists2');
在ORACLE中可以通过查询数据字典判断.
如果判断当前模式下是否存在,可以查 user_tables
if exists
(select 1 from user_tables where table_name='表名')
......
如果判断所有模式下是否存在,则需要连接system或者sys.然后查user_tables
conn system/密码 (或者conn sys/密码 as sysdba)
if exists
(select 1 from dba_tables where table_name='表名')
......
注意:以上表名全部需要用大写字母.
省略号表示判断之后需要执行的语句.
很多办法的
首先你的表是放在对应 方案下面
每个用户对应一个方案
那么 在 user 表里放着你的表的信息
可以通过EM 进入你的方案下 看看表是不是存在
OEM 也可以
有的 呵呵
declare v_cnt Number;
begin
select count(*) into v_cnt from user_tables where table_name = yourtablename;
if v_cnt>0 then
dbms_output.put_line('该表存在!');
else
dbms_output.put_line('该表不存在或当前用户无权访问!');
end If;
End;