简单的如何向一个数据库中两张表插入数据
insertinto表1.UserName,表2.Uservalues('1','2')就是往表1中的UserName字段,表2中的User字段分别插入1,2这两个值。请...
insert into 表1.UserName,表2.User values ('1','2')
就是往表1中的UserName字段,表2中的User字段分别插入1,2这两个值。请问该怎么写 展开
就是往表1中的UserName字段,表2中的User字段分别插入1,2这两个值。请问该怎么写 展开
2016-01-04 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
严格意义上讲,没有所谓“同时插入”的手段,只有“要么都插入(分先后),要么都不插入”的机制,这个机制就叫做“事务”,是数据库服务器的执行单位,是原子操作。
由上,将两个insert命令包装为一个事务,如下:
declare @OK integer
begin transaction
set @OK = 0
while 1 = 1
begin
insert table1 values( ... )
set @OK = @@error
if @OK <> 0
Break
insert table2 values (... )
set @OK = @@error
Break
end
if @OK = 0
commit transaction
else
rollback transaction
通过触发器也能实现需求,其底层原理依然是事务,触发器和引发它执行的语句被自动地包装到一个事务中。不过,强烈不建议使用该方法,用此伎俩会导致业务逻辑分散,而人的思维还是需要一定的连贯性,集中在一起显然有助于表达和理解,当需要改进或者调试错误时徒增繁琐,实在是弊大于利。
由上,将两个insert命令包装为一个事务,如下:
declare @OK integer
begin transaction
set @OK = 0
while 1 = 1
begin
insert table1 values( ... )
set @OK = @@error
if @OK <> 0
Break
insert table2 values (... )
set @OK = @@error
Break
end
if @OK = 0
commit transaction
else
rollback transaction
通过触发器也能实现需求,其底层原理依然是事务,触发器和引发它执行的语句被自动地包装到一个事务中。不过,强烈不建议使用该方法,用此伎俩会导致业务逻辑分散,而人的思维还是需要一定的连贯性,集中在一起显然有助于表达和理解,当需要改进或者调试错误时徒增繁琐,实在是弊大于利。
推荐于2018-03-13
展开全部
可以啊,建议你用触发器。比如在Table1中:
Create Trigger AutoInsert
For Insert
As
insert into Table2 values(1,2)
然后你只要执行:
insert into Table1 values(1,2)
那么自动启用触发机制,自然Table2中也有了。
Create Trigger AutoInsert
For Insert
As
insert into Table2 values(1,2)
然后你只要执行:
insert into Table1 values(1,2)
那么自动启用触发机制,自然Table2中也有了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-28
展开全部
insert into 表1.UserName values ('1','2')
insert into 表2.User values ('1','2')insert语句是不能同时操作两个表的,要分为两条
insert into 表2.User values ('1','2')insert语句是不能同时操作两个表的,要分为两条
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询