如何在 Visual Studio 中查询服务器资源管理器中的查询结果?

How can I query the results of a query in Server Explorer in Visual Studio?

我可以通过以下步骤从 Visual Studio 获取存储过程的结果:

0) Select View > Server Explorer

1) Locate the Data Connection that contains the SP of interest.

2) Right-click the SP and select Execute; if any args are required, it will allow you to populate those in a dialog and then proceed with the execution

如果您提供了有效的参数(和 SP returns 数据),结果将显示在 T-SQL 结果选项卡的网格中。

但是,现在,如果您想查询已返回的 "dataset" 怎么办,例如对特定列的值求和 - 可以直接从 Visual [=28= 中完成吗? ] Explorer.T-SQL?如果是,怎么做?

更新

我相信 Khazratbek,但我只能在通过右键单击数据连接下的表文件夹实例化的新查询中做到这一点:

SELECT SUM(QtyShipped), SUM(QtyOrdered) FROM CPSData.

...最后一个“.”后面的下拉选项可用。不包含存储过程的结果 (SQLQuery1.sql)。

真的可以吗?

服务器资源管理器 -.右键单击表 -> 新查询。编写您的查询(您可以 select 来自您的 SP 执行结果)并单击三角形符号。抱歉,如果我误解了你的确切问题。

假设您的存储过程为您提供用户的登录名和密码:

select login, password from users;

例如,您取一百万个结果。您不需要更改存储过程,但您希望对结果进行一些处理(select 按某种顺序排列,更改顺序,select 按某种条件,等等)。 让我们继续。您的存储过程为您提供了两列:它是列登录名和密码。所以我们可能会认为你的 SP 执行结果有一些table。要处理您的结果,请执行后续步骤:

Server Explorer -> Your_database_connection -> 右键单击​​ Tables -> New query

然后在里面写下下面的代码:

Declare @temporary_table_variable table(login varchar, password varchar); --or without datatypes 
insert into @temporary_table_variable(login, password) exec MyStoredProc; 
SELECT * from @temporary_table_variable where id > 1000; --it is just a simple example

希望对您有所帮助