0

编辑:

我有一个搜索存储过程。存储过程接收一些名为@filter1、@filter2 等的位参数。这些参数指示过程是否将返回上下文过滤器。然而,该过程可能会返回错误。就像是:

if error
    select * from erros
else
    select 0

if filter1
    select * from tablea
else
    select 1

select * from search

select 0and语句只是为了将select 1搜索保持在同一位置,但它们会在后端导致一些意大利面条代码,因为我必须检查表格内容以确定是否存在错误并评估几个过滤器参数为了正确构建我的对象。检查表中有多少行更简单。

我的问题是,是否有一种不昂贵的方法来返回一个空数据集以避免选择 0 和选择 1 语句?

4

1 回答 1

1

试试这个

select top 0 * from tablea
select top 0 * from tableb

这将返回空行和TableATableB

于 2012-06-14T03:21:47.833 回答