求一条insert语句
来源:百度知道 编辑:UC知道 时间:2024/09/27 05:43:11
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