2017-07-09 7 views
0

HSQLDBサーバデータベースから2つの実験テーブルを削除しようとしています。ファイルシステム上のデータベース全体を吹き飛ばすのではなく、アイデアが不足していて、皆さんが持っている可能性のあるポインタや提案がありがたいです。HSQLDB:インタロックテーブルを削除できません。ユーザが権限を持っていないかオブジェクトが見つかりません。

テーブルとインデックスが作成されましたJPAによって生成されたDDLは次のとおりです。

CREATE TABLE SUDOKU.DIVISION (
    DIVISION_ID BIGINT NOT NULL, 
    DIVISION_NAME VARCHAR(255), 
    CHIEF_EMPLOYEE_ID BIGINT, 
    DEPUTYCHIEF_EMPLOYEE_ID BIGINT, 
    PRIMARY KEY (DIVISION_ID) 
); 

CREATE TABLE SUDOKU.EMPLOYEE (
    EMPLOYEE_ID BIGINT NOT NULL, 
    DIVISION_ID BIGINT, 
    EMPLOYEE_NAME VARCHAR(255), 
    PRIMARY KEY (EMPLOYEE_ID) 
); 
ALTER TABLE SUDOKU.DIVISION 
    ADD FOREIGN KEY (CHIEF_EMPLOYEE_ID,DEPUTYCHIEF_EMPLOYEE_ID) 
    REFERENCES EMPLOYEE (EMPLOYEE_ID,EMPLOYEE_ID); 

ALTER TABLE SUDOKU.EMPLOYEE 
    ADD FOREIGN KEY (DIVISION_ID) 
    REFERENCES DIVISION (DIVISION_ID); 

テーブルを削除しようとすると、エラーが表示されます次のようなメッセージですERROR: is referenced by FOREIGN KEY constraint: SUDOKU.FKSPXEERGASS9WA2IXFLHC20IOY in statement [DROP TABLE SUDOKU.DIVISION] Error Code: -5533

したがって、参照されている「外部キー」を削除しようとしましたが、 がエラーメッセージuser lacks privilege or object not foundで失敗します。

私はRazorSQL、またはEclipseネオン-3でJPAビューのいずれかを使用して、エラーメッセージで参照されている外部キーのいずれかを見つけることができないのです。

私が気づいたのは、エラーメッセージで参照されている外部キーが変更されたことです。それは私が接続するために使用するツールに依存するようです。

+0

あなたは、その後、列EMPLOYEE_ID、EMPLOYEE_NAMEを落としたことがあります:

DROP TABLE SUSOKU.DIVISION CASCADE 

はあなたがFKを参照しているテーブルからデータを削除したい場合も同様にDIVISIONテーブル、次にEMPLOYEEテーブル? Wfm on mysql server ... そうでなければ、制約を見つけて最初に削除する必要があります。 – bytepusher

答えて

0

簡単な解決策があります:

TRUNCATE TABLE SUSOKU.DIVISION AND COMMIT NO CHECK 
関連する問題