例:客户订单
table主表: ID CODE DATE CUSTOMER
1 001 2009-05-01 客户1 table子表:
ID AUTOID INVCODE QTY PRICE COST
1 1 A 100 2 200
1 2 B 300 1 300
... 求一存储过程
在程序界面录入(主表 TEXTBOX ; 从表 DATAGRIDVIEW ) 后,调用此存储过程写入数据
table主表: ID CODE DATE CUSTOMER
1 001 2009-05-01 客户1 table子表:
ID AUTOID INVCODE QTY PRICE COST
1 1 A 100 2 200
1 2 B 300 1 300
... 求一存储过程
在程序界面录入(主表 TEXTBOX ; 从表 DATAGRIDVIEW ) 后,调用此存储过程写入数据
insert...into??
@...
@2....
as
begin
insert into ta select @.....
insert into tb select ...
end
go
insert 主表。
insert 子表。。
(
@a varchar(10)
@b varchar(30)
)
as
begin
insert into 主表 select @a=id * from ....
insert into 从表 select @b=id * from....
end
go
(
@a varchar(10)
@b varchar(30) output
)
as
begin
insert into 主表 select @a=id * from ....
insert into 从表 select @b=id * from....
end
go
exec proc_name (@b)
就是不知道怎么传? 如果不用存储过程,直接在代码里写SQL语句,只能先进行主表记录(一条)插入完成,再另外写SQL语句循环插入从表记录(多条记录),这样从表记录发生插入错误时不能进行回滚,不能删除对应的主表记录啊。
这个问题不知道怎么解决
如果失败想回滚,放在一个事务里不就可以了吗?!