在我的存儲過程的中間,我有下面的代碼片斷:如果的情況之間存在語句時條件SQL
case
when l.codeleasestatuscode = '5' and priorleaseid is null
and l.leaid in(select col1 from Waitlisthousehold)
then '2'
else l.codeleasestatuscode
end
然而,最後的條件,其中i具有從表Waitlisthousehold選擇,有一個問題。並非所有數據庫都有該表。所以我希望在表格存在時包含最後一個條件。但當我嘗試這樣做時,我收到錯誤:
case
when l.codeleasestatuscode = '5' and priorleaseid is null
IF EXISTS(select * from information_schema.tables where table_name='WaitlistHousehold')
begin
and l.leaid in(select col1 from Waitlisthousehold)
end
then '2'
else l.codeleasestatuscode
end
那麼,我該如何正確地做到這一點?
這個片段是內從語句(FROM表1上a.id = b.id和情況下,當一個連接表2 b ..)
在SQL Server的猜測?如果是這樣,沒有使用動態SQL就無法做到這一點 - 每個查詢都會根據它所訪問的表進行修復。 – 2013-04-18 06:55:27