-2

我想先运行以下过程:

exec ep_upd_server_abc

然后执行以下语句:

SELECT * FROM dbo.Server_Warehouse 
WHERE Enabled = 'f' and disabledweekly = 'f'

我可以在 SSRS 查询生成器中编写以下过程,以便我可以执行两条语句吗?

CREATE PROCEDURE ShowDBJob
As
Begin
    exec ep_upd_server_abc;

    SELECT * FROM dbo.Server_Warehouse 
    WHERE Enabled = 'f' and disabledweekly = 'f'
End

有解决办法吗?

我尝试在 SSRS Query Builder 中运行它,但它给了我一个错误。将不胜感激任何想法和建议...谢谢!

4

2 回答 2

4

为什么不只做这个确切的程序

CREATE PROCEDURE ShowDBJob
As
Begin
    exec ep_upd_server_abc;

    SELECT * FROM dbo.Server_Warehouse 
    WHERE Enabled = 'f' and disabledweekly = 'f'
End

在 SQL Management Studio 中并调用它?不要在 SSRS 恕我直言中执行任何类型的实时事件驱动编码或过程。滑坡,您尝试使用相当于螺丝刀的锤子,反之亦然。SQL Managment studio 用于设计 proc 和访问 SQL Server 数据库以直接创建对象。SSRS 旨在返回数据连接、数据集的结果、评估数据集在一个或多个要显示的对象上的表示,除了围绕这些事物的特性/语法之外仅此而已。即使访问临时表 '#(something)' 和动态声明的参数 'declare @thing int (inside statement of dataset)' 也会让人发疯。坚持使用已经创建的预定义可编程对象或过程和函数。不要试图即时创建它们。

再加上想想这个。每次调用数据集时,您都无法每次都创建该对象,因为它已经存在。然后您将不得不更改它或删除它并首先重新创建它。SSMS 已经在选项中为您完成了这部分,并将它们存储在数据库中。SSRS 是 SQL Server 的附加组件,但不具备创建对象的全部功能。尤其是在飞行中。

于 2013-07-30T20:15:34.680 回答
1

不,您不能在 RS 中从查询设计器编写“创建过程”或任何其他 DDL 语句。这是设计使然。

于 2013-07-30T20:01:43.423 回答