日期:2014-05-19  浏览次数:20502 次

同时插入两个表,这样写insert语句对吗?
insert   into   table1,table2   table1.values(@fname1,@fname2)   and   table2.values(@fname3,@fname4)

表1:table1
ID(自动增长):CHNID
列1:fname1
列2:fname2

表2:table2
ID(和表1的ID一一对应):CHNID
列1:fname3
列2:fname4

(实际就是把一个大表,拆分成两个小表,两个表的ID是对应的,现在要同时写这两个表)
上面的insert语句对吗,如果不对,正确的该怎么写?

------解决方案--------------------
不能这样插入

得分开写

你这种情况写个触发器好了
------解决方案--------------------
string strSql= "insert into table1 values(@fname1,@fname2);insert into table2 values(@fname3,@fname4); ";
------解决方案--------------------
语法是肯定错误的

同楼上写两个SQL语句,还应该考虑事务的问题
------解决方案--------------------
采用事物的写法吧。
你可以看看SqlTransaction(System.Data.SqlClient里)
insert into table1 values(@fname1,@fname2) @@IDENTITY AS 'id ';
insert into table2 values(@Id,@fname3,@fname4);

------解决方案--------------------
就单独些两点SQL 就可以