咨询一个sql,谢谢大家了

haVah 2023-11-08 01:03:48

就是要求要用SQL写出来

数据库A    有表 a ,表a 有字段 id   均为 3位数字 有重复   如001 002.。。。。

再有数据库若干  名字是   w+上述表a中字段id  如 w001  w002  w099,这些数据库结构都一样,每个都有表b,表b有字段gender,取值0或者1,int。

要求,修改数据库A中表a字段id结尾的所有 数据库(就是w001 w002)中的表b字段gender  ,如果是0就改成1,如果是1就改成0

 谢谢,请不吝赐教。

 

 

...全文
成就一亿技术人!
拼手气红包 10.00元
924 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
莫林传奇 2023-11-08
  • 打赏
  • 举报
回复

UPDATE 表A SET gender = '0'
WHERE gender=1 and id like '%w001';

UPDATE 表A SET gender = '1'
WHERE gender=0 and id like '%w002';

是这个意思吗,你可以先在本地创建一个测试库看看是不是你需要的效果

故事不长丨 2023-11-08
  • 打赏
  • 举报
回复
1人已打赏
1
DECLARE @id VARCHAR(3)
DECLARE db_cursor CURSOR FOR  
SELECT id FROM A.dbo.a
OPEN db_cursor  
FETCH NEXT FROM db_cursor INTO @id  

WHILE @@FETCH_STATUS = 0  
BEGIN  
    DECLARE @sql NVARCHAR(MAX)
    SET @sql = 'UPDATE w' + @id + '.dbo.b SET gender = CASE WHEN gender = 0 THEN 1 ELSE 0 END'
    EXEC sp_executesql @sql
    FETCH NEXT FROM db_cursor INTO @id  
END

CLOSE db_cursor  
DEALLOCATE db_cursor

29

社区成员

发帖
与我相关
我的任务
社区描述
专注数据相关领域,分享MySQL,数据分析,Python,Linux,大数据相关技术内容。
数据库sql数据库开发 个人社区 广东省·广州市
社区管理员
  • SQL数据库开发
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧