5313 Referential integrity violation: cannot drop a referenced (Parent) table

Cause:

You cannot drop parent table where child table constraint referring to parent table.

Solution:

Example:

database tmp_test_20171120;

CREATE SET TABLE test1,NO FALLBACK ,

NO BEFORE JOURNAL,

NO AFTER JOURNAL,

CHECKSUM = DEFAULT

(

a INTEGER NOT NULL,

b INTEGER,

c INTEGER)

UNIQUE PRIMARY INDEX ( a );

*** Table has been created.

CREATE SET TABLE test2 ,NO FALLBACK ,

NO BEFORE JOURNAL,

NO AFTER JOURNAL,

CHECKSUM = DEFAULT

(

a1 INTEGER,

b1 INTEGER,

c1 INTEGER,

FOREIGN KEY ( a1 ) REFERENCES test1 ( a ))

PRIMARY INDEX ( a1 );

*** Table has been created.

DROP TABLE test1;

*** Failure 5313 Referential integrity violation: cannot drop a referenced (Parent) table.

Option 1: Drop RI Constraint from child table that pointing to Parent Table

select ChildDB,ChildTable,ChildKeyColumn,ParentDB,ParentTable,ParentKeyColumn from DBC.All_RI_Children

where parenttable='test1'

and ParentDB='tmp_test_20171120';

ALTER TABLE tmp_test_20171120.test2 DROP FOREIGN KEY ( a1 ) REFERENCES test1( a );

*** Table has been modified.

DROP TABLE test1;

*** Table has been dropped.

Option 2: Drop Child table before Parent Table

drop table test2;

*** Table has been dropped.

drop table test1;

*** Table has been dropped.