Sql Don';在结果中不显示动态查询
是否可以从存储过程提供的结果集中隐藏动态查询 我正在使用动态查询的Sql Don';在结果中不显示动态查询,sql,sql-server-2005,tsql,Sql,Sql Server 2005,Tsql,是否可以从存储过程提供的结果集中隐藏动态查询 我正在使用动态查询的@@rowcount设置一个用于确定是否运行另一个查询的变量 另一个查询由我无法更改的代码使用——因此我要更改存储过程。动态查询返回,因为存储过程中的第一个结果集现在是动态查询的结果,而动态查询当前正在“中断”调用代码 提前感谢我通过将动态查询的结果插入到临时表中,然后从临时表中检索行数,成功地解决了这个问题 -- Create query declare @query nvarchar(max) set @query = 'se
@@rowcount
设置一个用于确定是否运行另一个查询的变量
另一个查询由我无法更改的代码使用——因此我要更改存储过程。动态查询返回,因为存储过程中的第一个结果集现在是动态查询的结果,而动态查询当前正在“中断”调用代码
提前感谢我通过将动态查询的结果插入到临时表中,然后从临时表中检索行数,成功地解决了这个问题
-- Create query
declare @query nvarchar(max)
set @query = 'select ' + @entityname + 'id from ' + @entityname + ' where ' + @entityname + 'id = ' + cast(@entityid as nvarchar(100))
-- Insert into to temp table - no new result set displayed!
declare @tbl table (EntityID int not null primary key)
insert into @tbl
exec (@query)
-- Retrieve variable from temporary table
declare @count int
select @count = count(*) from @tbl
以上是我最后使用的代码。尝试如下包装动态查询:
Set @query = 'SELECT COUNT(*) FROM (' + @Query + ') t'
问题是,在动态查询上运行exec将作为存储过程的第一个结果集出现。