找到不在ID列中的数字

时间:2010-12-07 15:20:19

标签: sql sql-server sql-server-2005

表有两列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。

1 个答案:

答案 0 :(得分:0)

是。我认为这是可能的。

SQL Server Reporting Services接受参数并将其传递给存储过程。

这些参数也可以绑定到列表,这意味着可以使用NewName列中的现有值填充OldNameName参数。

存储过程需要返回一个结果集(比如一个名为result的列然后显示在报告上)

虽然这不是SSRS的典型用法,但可能不是这样做的最佳界面。