2012-06-12 47 views
0

編輯:根據sql server中的條件返回空行

我有一個搜索存儲過程。存儲過程接收一些名稱爲@ filter1,@ filter2等的參數。這些參數指示過程是否將返回上下文過濾器。但是,該過程可能會返回錯誤。喜歡的東西:

if error 
    select * from erros 
else 
    select 0 

if filter1 
    select * from tablea 
else 
    select 1 

select * from search 

select 0select 1陳述存在只是爲了保持在相同的位置進行搜索,但他們造成了一點麪條代碼在後端,因爲我要檢查表內容,以圖如果出現錯誤或不存在,並評估幾個過濾器參數以便正確構建我的對象。檢查表格中有多少行很容易。

我的問題是,是否有一種非常昂貴的方式來返回空數據集,以避免選擇0和選擇1語句?

+0

列,你在哪裏加載數據?您可以在代碼中使用過濾器來加載一個或三個數據表(例如)。在調用存儲之前評估代碼中的過濾器,然後您將知道需要加載多少數據(一個或三個) –

+0

所以我不能?是嗎? – user1330271

+1

你也可以嘗試'從tablea'選擇top 0 *並從tableb'選擇top 0 *。這將返回具有「TableA」和「TableB」列的空行。如果這對你有用,通知我,我會把它作爲答案,所以你可以打勾! –

回答

1

試試這個

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

,將返回空行與TableATableB