Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services Reporting services存储过程_Reporting Services - Fatal编程技术网

Reporting services Reporting services存储过程

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

我一直在编写一个脚本,该脚本将交换两个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) 
    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表的下拉框中选择。目前,当我尝试导入此代码时,它会要求输入值

  • 如何将存储过程导入报表中
  • 如何获取下拉框来查询列[Name]
    将存储过程添加到报表ass数据源时,ssrs会自动将其参数添加到报表ass报表参数中


    如果要通过下拉列表指定参数,则必须编写类似web应用程序的应用程序,并将此参数传递给报表。

    将存储过程添加到报表ass数据源时,ssrs会自动将其参数添加到报表ass报表参数


    如果要通过下拉列表指定参数,则必须编写类似web应用程序的应用程序,并将此参数传递到报表。

    我大部分时间都在使用报表向导,使用文本导入存储过程,如

    exec ID 1,2
    
    这让我知道tablix的基本返回值。但是,在您的情况下,这不适用,因为没有选择返回

    向导创建报告后,右键单击数据集并选择存储的过程。单击刷新字段,参数将自动添加

    要使报表参数成为下拉列表,您需要为它们提供数据源。我根据select语句或另一个存储过程添加一个新数据集,以选择所需的值

    在参数上单击鼠标右键,然后选择“参数属性” 现在可以跳转到“可用值”选项卡并选择“从查询中获取值” 选择提供下拉值的数据集

    还有其他选项,如允许空值等,可以微调下拉菜单的工作方式


    很奇怪,为什么您想要一个运行您显示的SQL而不返回任何值的报表。似乎有更好的方法让用户能够运行类似的东西。

    我大部分时间都在使用报表向导,使用文本导入存储过程,如

    exec ID 1,2
    
    这让我知道tablix的基本返回值。但是,在您的情况下,这不适用,因为没有选择返回

    向导创建报告后,右键单击数据集并选择存储的过程。单击刷新字段,参数将自动添加

    要使报表参数成为下拉列表,您需要为它们提供数据源。我根据select语句或另一个存储过程添加一个新数据集,以选择所需的值

    在参数上单击鼠标右键,然后选择“参数属性” 现在可以跳转到“可用值”选项卡并选择“从查询中获取值” 选择提供下拉值的数据集

    还有其他选项,如允许空值等,可以微调下拉菜单的工作方式

    很奇怪,为什么您想要一个运行您显示的SQL而不返回任何值的报表。似乎有更好的方法让用户能够运行类似的东西