我有一系列用于QA的查询。通常我们将organizationid
限制为单个值,但偶尔我们想要返回所有organizationid
的值。是否可以做到这一点,而不必在查询中注释掉所有的@orgid
?是否可以设置局部变量来允许任何值?
例子:
DECLARE @REPSD DATETIME = '10-01-2014';
DECLARE @REPED DATETIME = '09-30-2015';
DECLARE @orgid BIGINT = 5
SELECT
patientid,
MAX (dateofobservation) sbp_date INTO #t1
FROM
dbo.patientobservation (nolock)
WHERE observationcode IN ('8479-8','8480-6','8459-0','8460-8','8461-6')
AND dateofobservation >= @REPSD
AND dateofobservation <= @REPED
AND organizationid = @orgid
你真的不应该使用NOLOCK,除非你真的明白这个提示。如果你打算使用它,你应该使用正确的语法。不建议使用索引提示的WITH关键字,并将在将来删除。这里有一篇很棒的文章,讨论那个提示的弊端。 http://blogs.sqlsentry.com/aaronbertrand/bad-habits-nolock-everywhere/ –