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列。可以这样做吗?那位大侠能够帮我解决一下?
展开
 我来答
660guum73
2011-06-25 · TA获得超过203个赞
知道答主
回答量:452
采纳率:0%
帮助的人:286万
展开全部
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是自增长,则不需要列入到增加列,
所有字段类型根据实际确定修改
百度网友3de8efef2
2011-06-25 · 超过33用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:78.6万
展开全部
RoomNull 不是外键
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xgyanglie
2011-06-25 · TA获得超过145个赞
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:87.1万
展开全部
创建视图不就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wxbqlcz
2011-07-07 · TA获得超过120个赞
知道小有建树答主
回答量:94
采纳率:0%
帮助的人:61.2万
展开全部
这个问题,不应该在数据库层面解决,应该是在你的业务逻辑里面解决。
当你Create一个Room时,应该会有以下步骤
1、选择一个Room所在的House
2、读取所选House的HouseID、HouseMan
3、将HouseMan和HouseID赋值到你要创建的Room实体,
4、添加Room实体的其他属性,比如 RoomCost
5、将Room实体持久化保存到数据库。
其中第2和3步,就能解决你的问题了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式