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列。可以这样做吗?那位大侠能够帮我解决一下? 展开
展开全部
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 foreign key references house(houseman)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这边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
可以在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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询