невозможно выбрать переменную sql - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь создать один динамический запрос и выполнить его, в этом запросе имя таблицы должно меняться во время выполнения, шаблон имени таблицы, который должен меняться во время выполнения, - "D_M".Пожалуйста, смотрите код для дальнейшего уточнения.

Ниже приведен код, который я не могу выполнить:

DECLARE @MyCursor 
CURSOR,@ChannelName NVARCHAR(max),@ChannelNumber NVARCHAR(max),@sqlstring NVARCHAR(max);BEGIN 
    SET @MyCursor = 
    CURSOR FOR 
      SELECT mirthdb.dbo.channel.NAME, 
             mirthdb.dbo.d_channels.local_channel_id 
      FROM   mirthdb.dbo.d_channels, 
             mirthdb.dbo.channel 
      WHERE  mirthdb.dbo.channel.id = mirthdb.dbo.d_channels.channel_id 
      AND    mirthdb.dbo.channel.NAME LIKE '0%' 
OPEN @MyCursor 
FETCH next 
FROM  @MyCursor 
INTO  @ChannelName, 
      @ChannelNumber; 

WHILE @@FETCH_STATUS=0 
BEGIN 
  SET @sqlstring = 'select' +(@ChannelName), 
    ('select count(*) from mirthdb.dbo.D_M'+@ChannelNumber) 
  EXEC(@sqlstring) 
  --print @ChannelNumber 
  FETCH next 
  FROM  @MyCursor 
  INTO  @ChannelName, 
        @ChannelNumber 
END 
CLOSE @MyCursor; 
DEALLOCATE @MyCursor; 
END; 

Я пытаюсь получить следующий набор результатов: Название канала: Номерполученных сообщений test_name1: 2 test_name2: 4 test_name3: 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...