1

という名前のテーブルを作成しましたdual2。そこに行があり、そこから選択できます。ドロップしようとすると、次のエラーが発生します。

1 行目のエラー:
ORA-00604: 再帰 SQL レベル 1 でエラーが発生しました
ORA-00942: テーブルまたはビューが存在しません

ただし、テーブルはまだ存在します。dba_tablesとから戻りますuser_tables

ここで何が起こっているかについてのアイデアはありますか??

代替テキスト http://img180.imageshack.us/img180/6012/28140463.png

これは、plsql開発者で取得したテーブル作成のスクリプトです。

-- Create table
create table
(
  DUMMY VARCHAR2(1)
)
tablespace SYSTEM
  pctfree 10
  pctused 40
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );

PS: p.cambell 編集してくれてありがとう! 私の悪い英語でごめんなさい:)

4

2 に答える 2

9

システム (または SYS) として何も作成しないのルール 1。これらは組み込みオブジェクトの組み込みスキーマです。

システムが所有するオブジェクトを削除するのに十分な権限を得るには、おそらく SYSDBA として接続する必要があります。また、インストールによっては、ドロップ テーブルの前に起動するトリガー (MDSYS には 1 つあると思います) があり、SYSTEM オブジェクトでは機能しない可能性があります。

個人的には、データベースを吹き飛ばしてやり直すか、オブジェクトを作成する前の状態に戻りたいと思っています。

于 2010-08-02T00:15:18.160 に答える
-2

テーブルのデータのみを削除する場合は、truncate を使用できます。

Truncate TABLE [dbo].[table_name]

すべての行を削除し、自動インクリメント (または ID) 列がある場合。次に、シードが 1 に設定されます。

于 2010-08-02T07:07:55.443 に答える