2010-12-07 17 views
0

表中有兩列Name和ID。找到一個不在ID列中的號碼

ID (int,not null) 
Name (nvarchar(255),not null) 

我需要一個SQL腳本,將報表服務器將執行以下操作上運行:

User inputs "New.Name" 
User inputs "Old.Name" 

如果「New.Name」 AND「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報表服務的代碼呢?

我已經盡我所能與我的SQL的一點知識,但我不知道如何處理其餘的。

+2

你有問題嗎? – Oded 2010-12-07 15:21:55

+1

哪個數據庫? – 2010-12-07 15:23:33

回答

0

是的。我認爲這是可能的。

SQL Server Reporting Services接受參數並將這些參數傳遞給存儲過程。

這些參數也可以綁定到列表,這意味着NewNameOldName參數可以使用Name列中的現有值填充。

存儲過程需要返回結果集(說有一列名爲result,你再在報告上顯示)

這不是SSRS一個典型的使用,但並很可能不是最好的這樣做的界面。