SQL语句怎么同时往两个表中插入不同的记录

比如有一个用户表,一个用户部门表,用户表里面含有用户部门ID,我要插入用户表的时候,同时往用户部门表里面插入一条记录. 这个怎么做?如果更新用户的同时更新用户部门表,这个怎么做

1、首先准备两个数据表,如下图所示,结构需要一样。

2、接着往第一个数据表先插入一些数据。

3、然后我们打开第二个数据表,这时你看到第二个里面是没数据的,我们需要将第一个中的插入进来。

4、接着编写插入语句,注意这次直接在insert后面用select获取数据。

5、然后我们就可以看到第二个数据表中有数据了。

6、最后在进行select查询数据的时候还可以用where进行筛选。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26
得用触发器,单纯用sql语句做不到
说一下,你用的什么数据库,也得把你的表结构给出来
或者你直接搜索 比如:sqlserver触发器
里边会有些例子的追问

我用SQLSERVER数据库,user表:
id ,name,email ,active ,sex , telephone ,cellphone ,position dept_id

user_dept表:
id,userid,userdept_id,updatetime,level
你能给个例子吗?

追答

能,20分钟左右,你刷新页面看下,我先拿你表里的东西写写

追问

恩恩 太感谢了!

追答

你表字段我没全用,我只给你写了个insert部分的

创建表

create table [user]
(id int,
name varchar(10),
dept_id int)


create table user_dept
(id int  identity(1, 1) primary key,
userid int,
userdept_id int,
updatetime datetime)

创建触发器


create trigger t_user
on [user] after insert
as
begin
insert into user_dept(userid,userdept_id,updatetime) select id,dept_id,GETDATE() from inserted
end

执行插入

insert into [user] values (1,'a',1)

查看结果

select * from user_dept

剩下那部分,建议你自己查资料来做吧

追问

恩恩 太感谢了

本回答被提问者和网友采纳

SQL语句怎么同时往两个表中插入不同的记录
1、首先准备两个数据表,如下图所示,结构需要一样。2、接着往第一个数据表先插入一些数据。3、然后我们打开第二个数据表,这时你看到第二个里面是没数据的,我们需要将第一个中的插入进来。4、接着编写插入语句,注意这次直接在insert后面用select获取数据。5、然后我们就可以看到第二个数据表中有数...

sql如何同时向两张表插入数据
SqlCommand cmd = new SqlCommand();cmd.CommandText="insert into a values('"+要插入的name+"');insert into b values('"+要插入的smallname+"')";cmd.ExecuteNonQuery();

sql如何同时向两张表插入数据
将触发器临时保存的新数据表:inserted表的内容插入到b表里

如何用一个sql向两个表同时插入数据
sql语句如何写能把$_POST[\\"lemon\\"]的文字同时插入两个表中sql = \\"insert into table1 value \\'\\".$_POST[\\'lemon\\'].\\"\\'\\"sql = \\"insert into table2 value \\'\\".$_POST[\\'lemon\\'].\\"\\'\\"如果用两个insert 的话有可能会出现不同步的情况,如果你在insert 插入table1,又...

sql如何同时向两张表插入数据
关键字go)的。比如这个create table 如果想让两条sql语句同时执行是不可能做到的。但是可以使用“事务”让两条sql语句执行并保证状态一致。但是刚才说过,有些指令语法是必须要求进行批处理分割的,比如创建存储过程。你可以根据你自己的实际情况区分这些情况。

SQL语句 一条语句同时往两个表中添加数据
可以写一个存储过程。。。这个存储过程中把两个sql语句都写进去。你在执行这个存储过程就行了。有点类似一个方法 CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> -- Add the parameters for the stored procedure here<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <...

怎么利用sql语句往表中一次插入多条记录a ?
写多个sql语句用","号分隔开可以吗?这样也可以算是一个查询语句吧!在sql中没有循环这东西,我就想到这办法了,希望能帮得了你!insert into tablename(字段名1,字段名2...) values(值1,值2...),insert into tablename(字段名1,字段名2...) values(值1,值2...)...重复以上动作!记住...

如何一次插入多条记录的SQL语句?
上边代码中的union all如果换成union,则相同记录只插入一次,不会重复插入。另外一种方法是SQL Server2008特有的,所以,如果你不是SQL Server2008,就不能使用这种方法了。INSERT INTO MyTable(ID,NAME)VALUES(7,'003'),(8,'004'),(9,'005')create table [TEST]([NUM_ID] int primary key ...

用SQL合并两个表不同记录
S Union Select 2,'b') as A Full Outer Join (Select 1 as K , 1.5 as V Union Select 3,1.6) as B On A.K=B.KWhere A.K Is Null Or B.K Is Null --- 不知道楼主最后用的什么方法解决的?

有两个表A,B,如何用SQL语句,更新A表中的一个记录的字段,并将更新后的...
(ID,LNAME,ROLE,GROUP_ID,STATE)select ID, NAME,ROLE,GROUP_ID,STATE from A 从你的语句来看,你更新的那个ID,是个变量 那后面的那个 select ID, NAME,ROLE,GROUP_ID,STATE from A where id =? 这里也应该是变量 这个才能一一对应上啊。另外你说编译错误,你这些是不是用在asp里的?不同...

相似回答