从SQL查询运行SQL查询

问题描述

我有一个要在其中运行从查询获取查询的表。

enter image description here

要做的是返回每种类型的名称(支票簿,客户端等)和SQL查询的结果。所有内容都在一个查询结果中,因此我可以将该数据发送出去。我不知道从哪里开始。

解决方法

您可以尝试使用第一个查询打开游标,然后在循环中以动态SQL形式执行结果字符串。我不知道您的表或列被称为什么,但是假设表被称为表并且包含那些Selects的列是Result,您可以尝试类似的操作:

declare commands cursor for 

select result from table

declare @cmd varchar(max)

open commands
fetch next from commands into @cmd
while @@FETCH_STATUS=0
begin
  exec(@cmd)
  fetch next from commands into @cmd
end

close commands
deallocate commands

受此问题启发: execute result of select statement

,

这似乎不是一个好主意,除非您没有办法改变这种方法。

如果使用的是EF,则在获取行之后,可以像这样在查询测试字段中执行查询 context.MyEntity.SqlQuery(“ SELECT * FROM dbo.MyEntity”)。ToList();

https://docs.microsoft.com/en-us/ef/ef6/querying/raw-sql

您可以对不同的ORM进行相同的操作,其思想很简单,即在字段中获取字符串并将其传递给执行查询。

仅供参考:将SQL语句保存在表中以便以后执行是个坏主意吗? https://softwareengineering.stackexchange.com/questions/227922/is-saving-sql-statements-in-a-table-for-executing-later-a-bad-idea