sql 过程(200分)

  • 主题发起人 主题发起人 CJ
  • 开始时间 开始时间
C

CJ

Unregistered / Unconfirmed
GUEST, unregistred user!
仓库表:
仓库编号
仓库名称
...

库存分配表:
仓库编号
产品编号
产品数量
...

要求:
在输入产品时,希望在库存分配中加入N条记录,N为仓库数

如果有A.B.C三个仓库,我增加了货物PRODUCTA,那么就应该增加
A,PRODUCTA,0
B,PRODUCTA,0
C,PRODUCTA,0
 
数据好象很浪费,不知你用在什么场合?
 
insert 库存分配表
( 仓库编号
产品编号
产品数量 )
select 仓库编号,'PRODUCTA',0
from 仓库表

btw:不知道你的A,PRODUCTA,0 重的“0”怎样得出!



 
那一种SQL Server——MS SQL Server,InterBase Server,oracle...
 
MSSQL Server

xujiancai:
对不起,我有个产品表,记录产品编号,名称等详细信息
我希望刚刚在产品表中加入数据,则自动在库存表中加入该产品的信息
数量初始为0

gxg8816:
有点,不过我权衡下来,这样还是比较划算的/

 
这是一个交叉联结的问题。
如果三个表分别是 ck a, prd b, ckfp c 则
select a.ckid, b.productid, 0
into c
from a cross join b

单独看 select * from a cross join b
这句是得到两个表的行的笛卡儿乘积。
 
这样可以的。
insert 库存分配表
( 仓库编号
产品编号
产品数量 )
select 仓库编号,'PRODUCTA',0
from 仓库表
 
我试过我上面所说的方法,好像并没有问题,
你还有什么问题呢?
 
create trigger autoisert on 仓库表
for insert
as insert 库存分配表( 仓库编号 产品编号 产品数量 )
select 仓库编号,'PRODUCTA',0 from inserted
 
对不起,'PRODUCTA'应为 产品编号
 
那么多人回答啊?呵呵,实际上我的问题满怪,现在解决了。
 

Similar threads

S
回复
0
查看
816
SUNSTONE的Delphi笔记
S
S
回复
0
查看
737
SUNSTONE的Delphi笔记
S
后退
顶部