在我的存储过程的中间,我有下面的代码片断:如果的情况之间存在语句时条件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