我正在使用ssrs报表生成器来生成报表,其中代码中有一部分必须将一些值插入到临时表中。这些值应从多值参数DatabaseName加载。我尝试了以下代码:
DECLARE @Rep_Temp TABLE(SurrogateKeyIDENTITY int not null IDENTITY (1,1),tempDBName nvarchar(100) NOT NULL);
INSERT INTO @Rep_Temp (tempDBName) VALUES (@DatabaseName);
仅当我选择一个值时有效,当我选择多个值时将给出错误。
我也尝试了以下代码,但没有成功:
INSERT INTO @Rep_Temp (tempDBName) VALUES (join(Parameters!DatabaseName.Value,","));
感谢您的协助。
最诚挚的问候,
我按照以下说明解决:
@DBNameString = join(Parameters!DatabaseName.Value,",")
DECLARE @Rep_Temp表(SurrogateKeyIDENTITY int不为空IDENTITY(1,1),tempDBName nvarchar(100)NOT NULL);
DECLARE @DBs VARCHAR(500);
DECLARE @DBName VARCHAR(500);
DECLARE @charSpliter CHAR;
SET @charSpliter = ','
SET @DBs = @DBNameString + @charSpliter;
WHILE CHARINDEX(@charSpliter, @DBs) > 0
BEGIN
SET @DBName = SUBSTRING(@DBs, 0, CHARINDEX(@charSpliter, @DBs))
SET @DBs = SUBSTRING(@DBs, CHARINDEX(@charSpliter, @DBs) + 1, LEN(@DBs))
INSERT INTO @Rep_Temp (tempDBName) VALUES (@DBName);
END
最好的问候,