mofdan 发表于 2018-10-20 11:05:10

动态SQL应用小列子

  呵呵,几乎成标题党了,今天要写个脚本查询7天内所有有登录玩家的数据,要求按注册日期统计,虽然是个简单的问题,但是关键是用户表有30个,分别是user0, user1......到user29 ,光是把它们UNION ALL起来,我都够郁闷了,你想象下脚本有多长吧,一大堆堆在那儿,光是复制都让你难以忍受。
http://common.cnblogs.com/images/copycode.gif
  SELECT Id,CONVERT(VARCHAR(10),Create_Time, 120), Last_Login_Time FROM user0
  UNION ALL
  SELECT Id,CONVERT(VARCHAR(10),Create_Time, 120), Last_Login_Time FROM user1
  UNION ALL
  SELECT Id,CONVERT(VARCHAR(10),Create_Time, 120), Last_Login_Time FROM user2
  .........
http://common.cnblogs.com/images/copycode.gif
  呵呵,下面是我用动态SQL 改写的,呵呵,简洁多了
http://common.cnblogs.com/images/copycode.gif
  DECLARE @cmdText VARCHAR(8000);
  DECLARE @userIndex INT;
  SET @cmdText = '';
  SET @userIndex = 0;
  WHILE @userIndex
页: [1]
查看完整版本: 动态SQL应用小列子