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列。可以这样做吗?那位大侠能够帮我解决一下? 展开
--创建宿舍楼房表
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列。可以这样做吗?那位大侠能够帮我解决一下? 展开
4个回答
展开全部
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是自增长,则不需要列入到增加列,
所有字段类型根据实际确定修改
@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是自增长,则不需要列入到增加列,
所有字段类型根据实际确定修改
展开全部
RoomNull 不是外键
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
创建视图不就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题,不应该在数据库层面解决,应该是在你的业务逻辑里面解决。
当你Create一个Room时,应该会有以下步骤
1、选择一个Room所在的House
2、读取所选House的HouseID、HouseMan
3、将HouseMan和HouseID赋值到你要创建的Room实体,
4、添加Room实体的其他属性,比如 RoomCost
5、将Room实体持久化保存到数据库。
其中第2和3步,就能解决你的问题了。
当你Create一个Room时,应该会有以下步骤
1、选择一个Room所在的House
2、读取所选House的HouseID、HouseMan
3、将HouseMan和HouseID赋值到你要创建的Room实体,
4、添加Room实体的其他属性,比如 RoomCost
5、将Room实体持久化保存到数据库。
其中第2和3步,就能解决你的问题了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询