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');
从特殊的结构定义表里查,比如mysql里就是INFORMATION_SCHEMA.TABLES表:
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='数据库名' AND TABLE_NAME='表名'方法有二:1、查询表user,如果抛出表不存在的异常,就证明表user不存在。
2、查询系统表,每种数据库都有一张系统表,用该存放数据库中的所有表的信息。
你只需要查询系统表有无该表的记录即可。但是不同种类的数据库,系统表可能不一样。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)