求一条insert语句

来源:百度知道 编辑:UC知道 时间:2024/06/14 01:08:42
A表中有 ID(自增长),USERNAME,PWD
B表中有 ID,MOBILE

A表中插入一条数据的同时,B表中也插入一条ID与刚才A表中ID相等的数据
没一个写个上来瞧瞧????晕

要有这样的效果,需要用触发器;
由于不知道B表中MOBILE的类型,先假设其为字符型,并且其可以为空。

delimiter //
create trigger insert_id_to_B after insert on A
for each row
begin
insert into B value(new.id);
end;
delimiter ;

这个在mysql中可以跑,sqlsever没有试!
如果你要同时向B表中的MOBILE字段写值,可以修改中间的insert语句,现在这个是不写值的!

A表的id列用sequence
B的id用触发器

用触发器比较保险,当然,在程序层也可以实现

使用触发器,在A表的INSERT触发:
insert into b(id) values(:new.id);

用触发器
create trigger [charu] on A
for insert
as
declare @number int
set @number =(select top 1 ID from A order by ID desc)
insert into B(ID) values (@number)

A表中有 ID(自增长),USERNAME,PWD
B表中有 ID,MOBILE

create table A(ID int identity(1,1) primary key,UserName nvarchar(20),PWD nvarchar(20))
go
create table B(ID int,Mobile nvarchar(20))
go

create trigger tr_A on A
after insert
as
insert B select ID,'新增B表' as Mobile from inserted