考虑下表:
myID theirID data
---- ------- ----
1 1 100
2 3 110
3 89 200
4 null 300
5 56 210
出于示例目的,这非常简化,但我有一个类似这样的 proc 作为报告的数据源:
SELECT myId, data
FROM myTable
但是,在该 proc 运行之前,我想运行相同的 proc 来检查空数据,如下所示:
SELECT myId, data
FROM myTable
WHERE theirId IS NULL
现在,与我的示例不同,我的实际过程很复杂,我不想复制它。相反,我想要一个显示违规数据的参数。所以我的问题是 - 我怎样才能构建这样的东西:
create proc myProc (checkForBadData bit)
begin
SELECT myId, data
FROM myTable
"but if checkForBadData = 1 then include 'WHERE theirId IS NULL'"
end
我可以在最后只插入一点点动态SQL,还是必须污染整个东西?
谢谢!