Oracle Create Table如果不存在

rap*_*yen 9 java database sqlplus oracle10g

任何人都可以指出我使用正确的语法,以便只有在数据库中当前不存在时才创建表吗?

我正在编程Java GUI以便连接到Oracle并在我的数据库上执行语句,我想知道我是否将其实现为Java约束或SQLPlus约束.

Jus*_*ave 8

通常,检查表是否存在没有多大意义,因为不应在运行时创建对象,应用程序应该知道在安装时创建了哪些对象.如果这是安装的一部分,您应该知道过程中任何位置存在哪些对象,因此您不需要检查表是否已存在.

但是,如果你真的需要,

  • 您可以尝试创建表并捕获`ORA-00955:名称已被现有对象使用"异常.
  • 您可以查询USER_TABLES(或ALL_TABLESDBA_TABLES取决于是否要创建其他用户,并在数据库中的特权拥有的对象)来检查,看看表是否已经存在.
  • 您可以尝试在创建表之前删除该表,并捕获"ORA-00942:表或视图不存在"异常(如果不存在).