oracle没有create or replace table

前端之家收集整理的这篇文章主要介绍了oracle没有create or replace table前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
转自:http://tunps.com/oracle-create-or-replace-table
Oracle数据库和其他数据库(比如MysqL)在新建数据表的时候有以下区别:

  1. sql>createorreplacetabletestTb;
  2. testTb

ORA-00922: 选项缺失或无效 只能使用先drop再create来代替
droptebletestTb(
  • fidvarchar2(4),
  • fnamevarchar2(10)
  • );

  • 可以用create or replace的对象有:functions,procedures,packages,types,synonyms,trigger and views,就是没有table,也没有sequence。
    drop掉一个并不存在的表报错:
    non_exists;
  • non_exists
  • ORA-00942:

  • 表或视图不存在 drop table容错的方法是:
    BEGIN
  • DROPTABLEnon_exists_table;
  • EXCEPTION
  • WHENOTHERSTHENIFsqlcode!=-0942RAISE;ENDIF;
  • ;
  • /错误代码:-0942

  • drop sequence容错的方法是:
    SEQUENCEnon_exists_sequence;
  • IFsqlcode!=-2289/错误代码:-2289


  • 参考: http://docs.oracle.com/cd/B14117_01/server.101/b10759/statements_7002.htm#i2095331
    http://stackoverflow.com/questions/1008248/how-do-i-use-create-or-replace 原文链接:https://www.f2er.com/oracle/206819.html

    猜你在找的Oracle相关文章