解决办法:
1、在设计数据库表时,通过设置级联删除 *** 作来完成。
2、可以写触发器完成 *** 作。
3、先删除主表的数据行,然后根据关联的外键值来删除附表中的相应行数据即可。
具体方法:
作为外键暂且叫它主表,Delete from Main Where id=@id
则要先删除子表当中 Delete from Detail where MainId = @id
为了保证数据完整性,最好将上面的 *** 作包含在一个事务中,如果两个语句影响的行数都大于零,则提交,否则回滚。
1、商品表中得id不设为主键的话,是不能设为交易明细表外键的2、不设主键也可以,就是不能设为交易明细表的外键,但是要确保商品表的id不能重复,否则2个表一关联查询的话会出现笛卡尔积
3、select * from 商品表,交易明细表
where 商品表.id=交易明细表.id
确保商品表id是唯一的就行
1>select 学号,姓名,性别 from XS where 姓名 like '王%'2>select top 5 学号,姓名,总成绩 from XS,CJ where 学生表.学号=成绩表.学号 and 学号 is not(select 学号 from 成绩表 where 成绩<75) group by 成绩表.学号 having count(*)
二题的另一种写法:
select top 5 学号,姓名,总成绩 from XS inner join CJ on 学生表.学号=成绩表.学号 where 学号 is not(select 学号 from 成绩表 where 成绩<75) group by 成绩表.学号 having count(*)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)