MSSQL使用事务执行一对多主从表插入操作,如何写存储过程

MSSQL使用事务执行一对多主从表插入操作,怎么写存储过程
比如主表A(id,name)
子表B(id,mainID,name)
一个主表A对应多个子表B的记录,也就是说会需要用到类似循环的操作,在SQL SERVER应该怎么写这个事务的存储过程,
以便C#调用呢?求大神给个实例,或者思路
------解决思路----------------------
嗯,看定位,照你的个业务,可以放到DAL

           using (SqlConnection conn = new SqlConnection(strConn))
            {
                conn.Open();
                SqlTransaction transaction = conn.BeginTransaction();
                try
                {
                    //do sth
                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
            }

------解决思路----------------------
既然连输入参数如何写都没有确定,又谈什么在存储过程中同时操作多表.
插入数据的存储过程,一般都是设计成单表的,主从表通过外部循环多次调用,
事务通过13楼的代码处理, 自动编号的获取可以将插入语句和查询语句放一起, 当作查询语句运行,如下:
insert into .....   select @@identity

------解决思路----------------------
引用:
我们再做一个电商的项目,客户下订单的时候要生成一条主表数据跟多个对应的子表数据(根据订单的商品数目来决定),您可不可以把您的思路说得清晰一些呢


实现代码 13楼 已经给出结构了。

实现思路大概可以这么处理:
用户创建订单表头(主表)信息,和(订单的商品)对应的子表数据,在创建这些数据的时候,你可以先将每条记录缓存与datatable中, 主表存入主表datatable, 子表存入子表datatable, 当用户这条订单创建完毕, 执行保存处理时, 主表的 insert into ...... 语句, 子表通过循环的多条  insert into ......  语句你通过事务一起提交。 比如提交过程发生异常, 事务回滚