Reporting services Reporting services存储过程
我一直在编写一个脚本,该脚本将交换两个ID,它们是主键:Reporting services Reporting services存储过程,reporting-services,Reporting Services,我一直在编写一个脚本,该脚本将交换两个ID,它们是主键: CREATE PROCEDURE dbo.ID @OldName NVARCHAR(128), @NewName NVARCHAR(128) AS DECLARE @NewId INT, @OldId INT CREATE TABLE TmpTable (ID INT, Name NVARCHAR(128)) INSERT INTO TmpTable (Name,ID) VALU
CREATE PROCEDURE dbo.ID
@OldName NVARCHAR(128),
@NewName NVARCHAR(128)
AS
DECLARE @NewId INT, @OldId INT
CREATE TABLE TmpTable (ID INT, Name NVARCHAR(128))
INSERT INTO TmpTable (Name,ID)
VALUES (@NewName, (SELECT ID FROM Table1 WHERE [Name] = @NewName));
INSERT INTO TmpTable (Name,ID)
VALUES(@OldName, (SELECT ID FROM Table1 WHERE [Name] = @OldName))
UPDATE Table1
SET ID = (SELECT MAX(ID) + 1000 FROM Table1)
WHERE [NAME] = @NewName
UPDATE Table1
SET ID = (SELECT MAX(ID) + 2000 FROM Table1)
WHERE [NAME] = @OldName
UPDATE Table1
SET ID = (SELECT ID FROM TmpTable WHERE Name = @NewName)
WHERE [Name] = @OldName
UPDATE Table1
SET ID = (SELECT ID FROM TmpTable WHERE Name = @OldName)
WHERE [Name] = @NewName
DROP TABLE TmpTable
go
我现在要做的是在reporting services中以报表的形式运行它,其中NewNAme和OldNAme将从查询Table1表的下拉框中选择。目前,当我尝试导入此代码时,它会要求输入值
将存储过程添加到报表ass数据源时,ssrs会自动将其参数添加到报表ass报表参数中
如果要通过下拉列表指定参数,则必须编写类似web应用程序的应用程序,并将此参数传递给报表。将存储过程添加到报表ass数据源时,ssrs会自动将其参数添加到报表ass报表参数
如果要通过下拉列表指定参数,则必须编写类似web应用程序的应用程序,并将此参数传递到报表。我大部分时间都在使用报表向导,使用文本导入存储过程,如
exec ID 1,2
这让我知道tablix的基本返回值。但是,在您的情况下,这不适用,因为没有选择返回
向导创建报告后,右键单击数据集并选择存储的过程。单击刷新字段,参数将自动添加
要使报表参数成为下拉列表,您需要为它们提供数据源。我根据select语句或另一个存储过程添加一个新数据集,以选择所需的值
在参数上单击鼠标右键,然后选择“参数属性”
现在可以跳转到“可用值”选项卡并选择“从查询中获取值”
选择提供下拉值的数据集
还有其他选项,如允许空值等,可以微调下拉菜单的工作方式
很奇怪,为什么您想要一个运行您显示的SQL而不返回任何值的报表。似乎有更好的方法让用户能够运行类似的东西。我大部分时间都在使用报表向导,使用文本导入存储过程,如
exec ID 1,2
这让我知道tablix的基本返回值。但是,在您的情况下,这不适用,因为没有选择返回
向导创建报告后,右键单击数据集并选择存储的过程。单击刷新字段,参数将自动添加
要使报表参数成为下拉列表,您需要为它们提供数据源。我根据select语句或另一个存储过程添加一个新数据集,以选择所需的值
在参数上单击鼠标右键,然后选择“参数属性”
现在可以跳转到“可用值”选项卡并选择“从查询中获取值”
选择提供下拉值的数据集
还有其他选项,如允许空值等,可以微调下拉菜单的工作方式
很奇怪,为什么您想要一个运行您显示的SQL而不返回任何值的报表。似乎有更好的方法让用户能够运行类似的东西