sql server中列值 必须存在于另一表的一列的约束怎么写啊

sqlserver中列值必须存在于另一表的一列的约束怎么写啊因为是不同库下面的检验,两表没有直接关系,所以一定要是约束呵呵,我就要约束,让他自动判断,函数还要单独执行呢... sql server中列值 必须存在于另一表的一列的约束怎么写啊
因为是不同库下面的检验,两表没有直接关系,所以一定要是约束
呵呵,我就要约束,让他自动判断,函数还要单独执行呢
展开
 我来答
roy_88
2010-07-16 · TA获得超过3696个赞
知道大有可为答主
回答量:2914
采纳率:100%
帮助的人:2731万
展开全部
问题补充:

因为是不同库下面的检验,两表没有直接关系,所以一定要是约束
呵呵,我就要约束,让他自动判断,函数还要单独执行呢
-----------------------------------------
只可用下面的方法约束,下面的约束引用函数,函数引用Test.dbo.T判断,明白了没

用一个函数判断
go

USE Test
GO
CREATE TABLE t(ID INT PRIMARY KEY)

GO
USE tempdb
GO
CREATE FUNCTION chk_T2(@TID INT)
RETURNS BIT
AS
BEGIN
IF EXISTS(SELECT 1 FROM test.dbo.T WHERE ID=@TID)
RETURN 1
RETURN 0
END
go

CREATE TABLE t2(TID INT NOT NULL CHECK (dbo.chk_T2(TID)=1),Num int)

go
INSERT T2(TID,Num) VALUES(10,10)

go
SELECT * FROM Test.dbo.T
go
DROP TABLE T2
DROP FUNCTION chk_T2
DROP TABLE test.dbo.T
firev000
2010-07-16 · TA获得超过492个赞
知道小有建树答主
回答量:877
采纳率:0%
帮助的人:645万
展开全部
直接用外键不完了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式