表有两列Name和ID。
ID (int,not null)
Name (nvarchar(255),not null)
我需要一个将在报表服务器上运行的SQL脚本,该脚本将执行以下操作:
User inputs "New.Name"
User inputs "Old.Name"
如果“New.Name”和“Old.Name”不在列[名称]中,则打印“名称不正确” 然后回到开始。否则继续
找到一个不在ID列中的数字,然后声明为@Number
Declare @NewID AS int
Declare @OldID AS int
SET @NewID = ID Where Name = New.Name
SET @OldID = ID where Name = Old.Name
UPDATE Table SET ID = @Number WHERE ID = @NewID
UPDATE Table SET ID = @NewID WHERE ID = @OldID
UPDATE Table SET ID = @OldID WHERE ID = @NewID
是否可以在SQL Server 2005 Reporting Services中对此进行编码?
我已经尽力了解SQL,但我不知道如何处理其余的SQL。
答案 0 :(得分:0)
是。我认为这是可能的。
SQL Server Reporting Services接受参数并将其传递给存储过程。
这些参数也可以绑定到列表,这意味着可以使用NewName
列中的现有值填充OldName
和Name
参数。
存储过程需要返回一个结果集(比如一个名为result
的列然后显示在报告上)
虽然这不是SSRS的典型用法,但可能不是这样做的最佳界面。