sql server 2005数据库中表B以表A为外键,那么表B中的某一列的默认值能用表A的某一列吗?

我的表格结构是这样的:--创建宿舍楼房表createtableHouse(HouseIdintidentity(1,1)primarykeynotnull,HouseNO... 我的表格结构是这样的:
--创建宿舍楼房表
create table House
(
HouseId int identity(1,1) primary key not null,
HouseNO varchar(10) not null, --栋号
HouseRoom varchar(10) not null, --房号
HouseMan int not null, --能容人数
HouseSex varchar(10) not null, --性别
HouseTel int not null --电话
)

--创建宿舍房间表
create table Room
(
RoomId int identity(1,1) primary key not null,
RoomIn int default(0) not null, --居住人数
RoomNull int default(不知道怎么写) not null, --空缺人数
RoomWater float not null, --水表底数
RoomWire float not null, --电表底数
RoomCost float not null, --宿舍费用
HouseId int foreign key references House(HouseId) not null
)

现在我想用 表Room中的RoomNull列 的默认值为 表House中的HouseMan列。可以这样做吗?那位大侠能够帮我解决一下?
展开
 我来答
手机用户21345
2011-06-25 · TA获得超过252个赞
知道答主
回答量:467
采纳率:0%
帮助的人:0
展开全部
create procedure mymod
@status varchar(20),
@EffectiveDate datetime,
@PercentCompletion float
AS
BEGIN
declare @id integer,@st varchar(20);
select top 1 @id=ProjectCompletionID,@st=status from Projects
order by ProjectCompletionID desc;
update Projects
set Status=@status
where ProjectCompletionID=@id;
insert int Projects select @id+1,@EffectiveDate,@PercentCompletion,@st;
commit;
END

---如果ProjectCompletionID是自增长,则不需要列入到增加列,
所有字段类型根据实际确定修改
wangshutingshi
2011-06-25
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
roomnull foreign key references house(houseman)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chinaokay
2011-06-25 · TA获得超过118个赞
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:133万
展开全部
这边Default 解决不了,通常只能通过触发器解决这个问题
可以在room表上建一个触发器

--创建处理的触发器
create trigger t_insert on Room
after insert
as
update Room set RoomNull= b.HouseMan
from Room a
join House b on a.HouseId =b.HouseId
join inserted c on a.roomid=c.roomid
go
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式