我想做一个三级级联的后台管理。我数据库设计是三个表。

我想做一个三级级联的后台管理。我数据库设计是三个表。,第1张

这问题太笼统了,一个表(字段会很多)也可以,多表也行。一个表的缺点是字段多,处理速度慢,而且在编程时必须用很多临时表,总之就是复杂。多表的最大优势是数据库处理数据的速度快,编程清晰明了。 至于关联,要看你的需要而定,一般是用多表中相同的字段(有共性)进行关联,如图书编号。

另外,站长团上有产品团购,便宜有保证

在数据中创建外键,设置为级联删除,并验证级联删除会生效。根据查询相关公开信息显示:级联删除是一个 *** 作项目,指示数据库系统在执行父表删除 *** 作时自动删除与之相关联的子表记录。正确使用外键和级联删除可以维护关系型数据库的数据完整性,外键是一种关系数据库中的约束,它确保了两个表中的记录之间存在逻辑上的关联性。

方法、过程如下:

在每个数据库的table1\table2都建立插入、删除、修改触发器

如在A1上

ceate trigger dbotable1_u on A1dbotable1 for insert,update,delete as

IF @@rowcount = 0 RETURN

declare @no_i int -- 假设no为关键字

--declare 其他字段

declare @no_d int -- 假设no为关键字

--declare 其他字段

--赋值

select @no_i =no ,--其他值

from inserted

select @no_d =no ,--其他值

from deleted

--判断@no_d,@no_i 是否在A2,A3,A4,A5的表中存在

--1、如果@no_d,@no_i 都存在,则用新值更新A2,A3,A4,A5的talbe1

--2、如果@no_d不存在@no_i存在,则将新值插入A2,A3,A4,A5的talbe1

--3、如果@no_d存在@no_i不存在,则删除A2,A3,A4,A5的talbe1对应的值

if exists(select 1 from A2dbotalbe1 where no = @no_d) and

exists(select 1 from A2dbotalbe1 where no = @no_i)

begin

--修改A2数据库的表

end

别听楼上瞎扯

inserted和deleted都没有

create trigger 级联更新

before update on 学生表

as begin

update 成绩表

set 成绩表学号=inserted学号

from 学生表,inserted,deleted

where 学生表学号=deleted学号

end

通过表的主键(pk)和另一个表的外键(fk)建立连接

具体可以创建关系图建立

也可以通过查询分析器利用SQL语句建立

例如:

主键表A,外键表B,我要创建表A的字段fa与表B的字段fb之间的关系,并且要级联更新相关的字段,级联删除相关的记录。

create table 表A(

fa varchar(10)

constraint PK_主表 primary key --定义fa为主键

)

create table 表b(fb varchar(10) not null

,CONSTRAINT FK_从表_主表 FOREIGN KEY (fb) REFERENCES 表A( fa) --在fb上定义外键约束

ON UPDATE CASCADE ON DELETE CASCADE --设置级联更新及级联删除

)

PID 父

PName 父名

ID 子

Name 子名

用递归的方法读取。

ID Name PID PName

1 中国

2 北京 1 中国

……

希望对你有帮助

以上就是关于我想做一个三级级联的后台管理。我数据库设计是三个表。全部的内容,包括:我想做一个三级级联的后台管理。我数据库设计是三个表。、在数据中创建外键,设置为级联删除,并验证级联删除是否生效、SQL数据库怎么进行多表级联更新,求个存储过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9531178.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存