请问SQL语句 怎么批量更新记录集?
本帖最后由 wzqx 于 2012-12-17 08:26:07 编辑 例如有两个表,A和B, 结构都一样,格式如下
A表的格式和内容
ID 姓名 性别 出生日期
1 张三 男 2000-10-30
2 李四 女 2003-12-11
3 王五 男 1999-11-12
...
请问怎么样,把表A 的全部性别是'男'的记录 都插入到表B?
之前我用的方法是
SELECT * FROM A WHERE 性别='男'
然后一条条记录 写入B表,但我觉得应该还有更好的办法的.请各位指教哈
问题如下:
1.有没有办法 一条SQL 语句 就搞定 从A表把符合条件的记录 插入到B表
2.如果问题1可以的话.可以避免插入B表的数据重复吗?
例如 B表 已经有这条王五记录, 那么就不用插入了
B表:
ID 姓名 性别 出生日期
1 王五 男 1999-11-12
以上两个问题自己写程序一行行记录检测是可以实现的,但我想了解一下SQL有没有这个自动批量插入的功能,谢谢
[解决办法]
INSERT INTO B(ID,姓名,性别,出生日期)
SELECT ID,姓名,性别,出生日期
FROM A
WHERE 性别='男' AND 姓名 NOT IN (SELECT 姓名 FROM B)