不知道为什么要这样做,有疑问:
1.既然是关系型数据库,为什么还要个合并AB表(假设称C表)的Table出现。
2.既然A,B表发生更改,C表也改变,又为何不要view来做?
3.增加的两个栏位 运费结算 状态 为何不直接不放在A表呢?
如果非得这样做的话,Oracle数据库,你可以
create table C as
( select a.ID, a.发货单号, a.日期, a.价格
b.存货名称,b. 数量,
null 运费结算,null 状态
from a,b
where a.id=b.id(+)
);
再将A,B对应写一个Trigger(触发器)来改变C表
总之,这种方式我怎么也想不通
select A.ID,A.发货单号,A.日期,A.价格,B.存货名称,B.数量,0 as 运费结算,0 as 状态
into AB from A inner join B on A.ID=B.ID
根据你运费结算和状态的类型,可以定义成''空来代替0
create proc st_jsjbj
as
insert into AB select A.发货单号,A.日期,A.价格,B.存货名称,B.数量 from A inner join B on A.Id=B.id
go
alter table AB add 运费结算 varchar(20) null,状态 varchar(20) null
execute st_jsjbj
你试试