问题描述
我要做的是返回每种类型的名称(支票簿,客户端等)和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