首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >执行Select语句的结果,而select语句又是select查询

执行Select语句的结果,而select语句又是select查询
EN

Stack Overflow用户
提问于 2018-06-06 06:05:53
回答 1查看 377关注 0票数 1

我已经创建了一个包含10个Select查询的表。我想从该表中随机获取3个查询,并执行所有这3个查询以获得它们的结果。我尝试使用EXEC,但它不起作用。我不想使用游标,因为我想在一个批处理中执行3个查询的结果。我使用的查询是

代码语言:javascript
复制
DECLARE @SqlStmt nvarchar(MAX)

SET @SqlStmt = 'SELECT TOP (3) SQLQuery FROM [dbo].[Load_Test_Queries] ORDER BY NEWID()'

EXEC (@SqlStmt)

我得到的结果是

代码语言:javascript
复制
SQLQuery

--------------------------------

SELECT TOP 10000 * FROM [dbo].[vw_UI_3PP] WHERE ID IN (80079217,80079218,80079219,80079220,80079222,80079229,80079274,80080221,80080223,80080818,80080852,80080918,80080969,80081051,80081354,80081587,80081617,80081716) OR Range > '70-80%'

SELECT TOP 2500 * FROM [dbo].[vw_UI_3PP] Where Code BETWEEN 1010 AND 1300

SELECT TOP 5 * FROM [dbo].[vw_UI_3PP]

我需要的是在一个批处理中所有这3个语句的结果。想象一下,复制此结果并在另一个会话中一次性执行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-06 06:41:38

我猜您遗漏了一点,那就是如何以单个nvarchar字符串的形式从SELECT TOP 3查询中获取结果,以便您可以对其执行EXEC操作:

代码语言:javascript
复制
drop table #tmp;
select * into #tmp from (
  select 'select 1' as SQLQuery union all
  select 'select 2' union all
  select 'select 3'
)x;

DECLARE @SqlStmt nvarchar(MAX)
SELECT @SqlStmt = coalesce(@SqlStmt, '') + SQLQuery from (
   SELECT TOP (3) SQLQuery FROM #tmp) x
--print @SqlStmt
EXEC (@SqlStmt)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50709597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档