给你做个简单试验吧
成都创新互联公司是少有的网站设计、网站制作、营销型企业网站、小程序开发、手机APP,开发、制作、设计、买链接、推广优化一站式服务网络公司,自2013年起,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评
创建class表,里边其他字段我就略了
create table class(classid int not null primary key,
classname varchar(20))
创建学生表
create table student(studentid int not null primary key,
studentname varchar(10),
classid int)
添加外键级联删除或更新约束
alter table student add constraint FK_classid foreign key (classid) references class (classid) on update cascade on delete cascade
向class表增加数据
insert into class values (1,'1班')
insert into class values (2,'2班')
向student表增加数据
insert into student values (1,'aa',1)
insert into student values (2,'bb',2)
insert into student values (3,'cc',3) --这条是增加不进去的,会报错
删除class表里一班的数据
delete from class where classid=1
检查 student 表里数据
这个时候你就发现,为1班学生的那数据也同时被删了
declare @i int
declare @sql nvarchar(max)
set @i=0
set @sql=''
while @i=288
begin
set @sql=@sql+'select ''13207000101001'' site_code,name,dateadd(mi,' + cast((@i+1)*5 as nvarchar(50))+',[datetime]) test_date,col'+ cast(@i as nvarchar(50))+' test_value from 表A where col'+cast(@i as nvarchar(50))+' '''' union all '
set @i=@i+1
end
set @sql=substring(@sql,1,len(@sql)-10)
set @sql='select * into 表B from ('+ @sql+') a'
exec(@sql)
-----如果这条数据的部门号主表没有则插入
insert into 主表 (字段,字段,字段,字段)
select 字段,字段,字段,字段 from 副表
where 部门ID not in (select 部门ID from 主表)
----如果有则把两个表中的同一部门数据相加求总值更新到主表
update A set A.数据 = A.数据 + B.数据
from 主表 A
left join 副表 B on A.部门ID = B.部门ID
可以,用触发器可以实现,不过初学应该不会涉及到这么难的吧,写两个sql就可以啦,先更新一张表的列,然后再写一句更新另一张表
hibernate做更新之前一定会先做查询,通常是一个对象。你可以把两张表级联成一个对象,或者直接调用执行sql语句的方法。