CREATE TABLE department ( 
id int identity(1,1) PRIMARY KEY,  
depname varchar(20) --部门名称
)
CREATE TABLE employee ( 
id int identity(1,1) PRIMARY KEY,  
username varchar(50) NOT NULL,--用户名  
realname varchar(50) NOT NULL,--真实姓名
pass varchar(50) NOT NULL,   --密码
ceatedate datetime NOT NULL,   --创建时间
     depid int references department(id)--外键部门ID
)CREATE TABLE pay ( 
id int identity(1,1) PRIMARY KEY, 
paymoney money NOT NULL, --金额 
projectname varchar(40),   --项目名称
re varchar(40),   --说明
addtime datetime  ,  --报销日期
inout int NOT NULL,     --报销状态(0:收入,1:支出)
depid int references department(id),--外键部门ID
payerid int references payer(id),--外键报销人ID
paytypeid int references paytype(id) --外键费用类型ID 
)如果我要在DAO中写删除SQL代码要删除部门信息 应该怎么做到?
pstmt = con.prepareStatement("");

解决方案 »

  1.   

    SQL 有外键约束的字段删起来 很麻烦 只有更改表结构~ oracle 可以不建外键关联 就不会有这样的问题 建议换数据库 嘿嘿~ 
      

  2.   

    实践证明,数据不能随便删除,你最好的办法就是加入 “STATE”,设置一个失效标记,和有效标记,因为外键约束,你是不能删除的,不然其他表的数据找不到这条数据,就会报错!