Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于删除级联SQL_Sql - Fatal编程技术网

关于删除级联SQL

关于删除级联SQL,sql,Sql,代码是作为脚本编写的,当我第二次运行此脚本时,is不会删除表EMPLOYEE\u TBL,因为会发生各种错误 现在的问题是:为什么DROP TABLE EMPLOYEE\u TBL不工作? DROP TABLE EMPLOYEE_TBL; DROP TABLE EMPLOYEE_PAY_TBL; Create table EMPLOYEE_TBL( EMP_ID VARCHAR(9), LAST_NAME VARCHAR(15) NOT NULL,

代码是作为脚本编写的,当我第二次运行此脚本时,is不会删除表
EMPLOYEE\u TBL
,因为会发生各种错误

现在的问题是:为什么
DROP TABLE EMPLOYEE\u TBL
不工作?

DROP TABLE EMPLOYEE_TBL;
    DROP TABLE EMPLOYEE_PAY_TBL; 
    Create table EMPLOYEE_TBL(
      EMP_ID VARCHAR(9), 
    LAST_NAME VARCHAR(15) NOT NULL, 
    FIRST_NAME VARCHAR(15) NOT NULL, 
    MIDDLE_NAME VARCHAR(15), 
    ADDRESS VARCHAR(50) NOT NULL, 
    CITY VARCHAR(15) NOT NULL, 
    STATE VARCHAR(10) NOT NULL, 
    ZIP NUMBER(5) NOT NULL, 
    PHONE VARCHAR(15), 
    PAGER VARCHAR(15) );
    Alter table EMPLOYEE_TBL
    add constraints pk_EMPLOYEE_TBL primary key (EMP_ID);

     commit;

    Create table EMPLOYEE_PAY_TBL (
    EMP_ID VARCHAR(9), 
    POSITION VARCHAR(15) NOT NULL, 
    DATE_HIRE DATE, 
    PAY_RATE DECIMAL(4,2) NOT NULL, 
    DATE_LAST_RAISE DATE, 
    Salary Decimal (4, 2), 
    Bonus Decimal (4, 2) );
    --CONSTRAINT EMP_FK FOREIGN KEY (EMP_ID_ REFERENCES 
    --EMPLOYEE_TBL (EMP_ID)); 

    commit;
    Alter table EMPLOYEE_PAY_TBL
    add constraints pk_EMPLOYEE_PAY_TBL primary key (EMP_ID);


    alter table EMPLOYEE_PAY_TBL
    add constraints fk_EMP_ID foreign key (EMP_ID) references EMPLOYEE_TBL (EMP_ID) ON DELETE CASCADE;

第二次,当您尝试删除员工时,您有以下限制:

alter table EMPLOYEE_PAY_TBL
add constraints fk_EMP_ID foreign key (EMP_ID) references EMPLOYEE_TBL (EMP_ID)
ON DELETE CASCADE;
因此,必须先删除此约束,然后再删除表


有关更多信息,请发布错误您不能删除
表EMPLOYEE\u TBL
,因为它被
EMPLOYEE\u PAY\u TBL
引用

删除级联上的
选项是指删除父表中的行,而不是删除父表

从DDL判断,您很可能正在使用Oracle。在这种情况下,您可以在删除表时使用
cascade
关键字:

DROP TABLE EMPLOYEE_TBL CASCADE CONSTRAINTS;
DROP TABLE EMPLOYEE_PAY_TBL CASCADE CONSTRAINTS; 

DROP TABLE
CASCADE
选项也将自动删除引用droppen表的所有外键。

错误消息是什么?您使用的是哪种DBMS?神谕