我在数据库上有一个存储过程A。
我们称之为存储过程sp_a。
在这个存储过程中,我希望对另一个数据库 database 上的表进行左连接B。
我们称这张桌子为tbl_b。
所以,我会写这样的东西:
use A
select *
from tbl_a a
left join B.dbo.tbl_b b on a.ID = b.AID
B如果数据库已启动并正在运行,这将起作用。
但有时,情况并非如此。但是,我希望我的存储过程忽略该数据库B“不存在”而忽略左连接。如果数据库可以访问
,我在调用存储过程之前就知道了。
如何防止必须编写整个存储过程两次,唯一的区别是如果我知道数据库无法访问,我不包括左连接?BB