我有两张桌子,车辆和vehicle_type。我想使用一个表单将相同的数据添加到两个表中。我怎样才能做到这一点?
答案 0 :(得分:1)
您可以使用参数创建存储过程。
在名为2 insert in statement的存储过程中,参数为值。
使用存储过程,您可以进行事务控制 - 如果有任何错误,则回滚两个表的插入。
create procedure insert_into_2_tables
@column1 varchar(50),
@column2 int,
...
as
begin tran
insert into table1 values (@column1, @column2, ...)
insert into table2 values (@column1, @column2, ...)
if @@error <> 0
rollback tran
else commit tran
- 您可以从表单,代码等中调用此存储过程。
答案 1 :(得分:0)
写两个单独的插入语句,用于将数据插入车辆和车辆类型表中。
答案 2 :(得分:0)
您没有指定DMS,但在Postgres中,您可以使用单个SQL语句执行此操作:
with new_type as (
insert into vehicle_type values (1, 'big')
returning id
)
insert into vehicle
values
(1, (select id from new_type), 'super model');
SQLFiddle示例:http://sqlfiddle.com/#!15/9051c/1