在一条SQL语句中向2个表中插入数据
表1   名称Bulletin,字段BulletinId(主键),Title,Content,Publisher 
 表2   名称ButtetinAuth,字段BulletinId(主键),UserId 
 怎么在一条SQL语句中想2个表中插入数据 
 请写具体点 
 2条SQL语句也可以,但要同步 
------解决方案--------------------  create     PROCEDURE [存储过程名] 
 ( 
 	@Title			nvarchar(50),  
 	@Content		         nvarchar(1000),  
 	@Publisher		nvarchar(200), 
 	@UserID			varchar(10)	 
 ) 
 AS 
 BEGIN 
 	declare @posid 		int 
 	SET NOCOUNT ON  		 
 	begin transaction [事务名称]  	 
 	insert into Bulletin(....)	--向Bulletin表添加记录   
 	if @@error <> 0 
 	begin 
 		rollback transaction [事务名称] 
 		select N '添加失败! ' as msg 
 		return(0)  
 	end 
 	set @posid = @@identity		--得到BulletinId的值    	 
 	insert into ButtetinAuth(....)	--向ButtetinAuth表添加记录   
 	if @@error <> 0 
 	begin 
 		rollback transaction [事务名称] 
 		select N '添加失败! ' as msg 
 		return(0)  
 	end   
 	commit transaction [事务名称] 
 	select N '添加成功! ' as msg  	 
 END
------解决方案-------------------- "insert 表1;insert 表2 "这种方式是可以,但不能保证同步(如插入第一个表后就停电了,第二个表还没来得及插入,所以就不同步了),要数据同步就要用数据库事务。   
 private SqlConnection myConn = new SqlConnection();  //连接 
 private SqlTransaction Transaction = null;   //事务 
 private SqlCommand Cmd = new SqlCommand();        
 假设myConn已经配置好   
 事务开始: 
 try 
 { 
   myConn.Open(); 
   Transaction = myConn.BeginTransaction();  //事务开始  
   Cmd.Transaction = Transaction;   //将Cmd指向Transaction事务   
   string strSQL= "insert 表1 "; 
   Cmd.CommandText = strSQL; //插入第一个表 
   Cmd.ExecuteNonQuery();      
   strSQL= "insert 表2 "; 
   Cmd.CommandText = strSQL; //插入第一个表 
   Cmd.ExecuteNonQuery();      
   Transaction.Commit(); //提交事务   
 } 
 catch (Exception e) 
 { 
    Transaction.Rollback();  //撇消事务 
    throw new Exception(e.Message); 
 }