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

2025-02-26 16:23:24
推荐回答(3个)
回答1:

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是自增长,则不需要列入到增加列,
所有字段类型根据实际确定修改

回答2:

roomnull foreign key references house(houseman)

回答3:

这边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