Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Don';在结果中不显示动态查询_Sql_Sql Server 2005_Tsql - Fatal编程技术网

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将作为存储过程的第一个结果集出现。