表与表之间的约束?

tkss 2005-03-17 10:53:33
问题:有一新闻分类表和新闻表,新闻表中有新闻分类的编号.我想要删除新闻分类时,检查询新闻表中有没有该类型的新闻,如没有,则能删除.
如新闻分类表:
New_Type_ID New_Type_Name
新闻表:
New_ID New_Type_ID,New_Iit.....
要实现这样的功能应怎么做?
...全文
87 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wudan8057 2005-03-17
  • 打赏
  • 举报
回复
用楼上的方法建立外健约束就可以了.
heyixiang 2005-03-17
  • 打赏
  • 举报
回复
如果刚开始没有创建约束,就修改Table

ALTER TABLE [dbo].[B] ADD
FOREIGN KEY
(
[A_id]
) REFERENCES [dbo].[A] (
[id]
)
GO
heyixiang 2005-03-17
  • 打赏
  • 举报
回复
或者创建表的时候就加上约束

比如下面的例子

Create Table A (
id int primary key identity(1,1),
aaa varchar(10)
)

Create Table B (
id int primary key identity(1,1),
A_id int foreign key REFERENCES A(id),
bbb varchar(10)
)
rfq 2005-03-17
  • 打赏
  • 举报
回复
1、类型表添加一个字段来表示是否有效。
2、引用完整性用触发器实现
heyixiang 2005-03-17
  • 打赏
  • 举报
回复
触发器实现

例子
CREATE TRIGGER trDeleteCheck ON [dbo].[新闻分类表]
FOR DELETE
AS
BEGIN transaction
if exists (select N.New_Type_ID from [新闻表] N where N.New_Type_ID in (select D.New_Type_ID from deleted D))
rollback transaction
else
commit transaction



caobin518 2005-03-17
  • 打赏
  • 举报
回复
建立两个表这间的关系就OK了.我在编程时是这么处理的.

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧