【发布时间】:2015-02-27 09:49:55
【问题描述】:
我在从不同的数据库中查找表时遇到问题(表有时会由于过程而被删除)如果该表存在则条件 else direct ans as 1
select (case when exists (select * from SysSet.INFORMATION_SCHEMA .TABLES where TABLE_NAME = 'CHQPASS') then (
left(tranm.docu_no,1) '3' 或 tranm.docu_dt 的情况
当(从 TRAND k 中选择前 1 个 ACHD_KEY 其中 k.TRN_NO = TRANM.TRN_NO 和 k.DR_CR ='D')='A000100010002' THEN 1
WHEN(从 SYSSET..chqpass D 中选择 COUNT(*),其中 D.COMP_DIR ='PSAGR' and D.DOCU_DT = TRANM.DOCU_DT and D.AMT = TRAND.TOT_AMT) 0
那么 1
else cast(isnull (trand.RECONCILE,0)as int)
结尾)
其他 1
结束)作为挂起
如果表格不存在,则显示错误
消息 208,级别 16,状态 1,行 2 无效的对象名称 'SYSSET..chqpass'。
表不存在我如何阻止它查看该表
【问题讨论】:
-
哪个 DBMS mysql 或 sql server ?
-
您是否有一个名为
SYSSET的数据库,因为dbo架构中应该有表chqpass -
删除了 mysql 标签,因为错误消息清楚地表明它是 sql server
-
编辑您的问题,而不是添加代码 cmets。
-
它的 sql server 我有 sysset 数据库(chqpass 表由于过程而被删除,但我希望该表不存在,那么 ans 应该是一个)
标签: sql sql-server