非常に大規模で常にタイムアウトするビューのストアド プロシージャがあり、特定の日付範囲のデータを検索するために使用されます。これは私にとってまったく新しい概念です。メインの日付範囲用にストアド プロシージャを設定しましたが、特定の日付が必要な場合に適切に実行する方法がわかりません。ここにコードと問題があります
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[COL_Run_DOM_Parameters]
@StartDate varchar (50),
@EndDate varchar (50)
AS
SET NOCOUNT ON
SELECT *
FROM dbo.COL_V_GEMS_DOM_FCT
WHERE REC_EFF_STT_DT BETWEEN '2010-01-01' AND '2012-12-31'
私が実行するとき、私はそれを次のようにします:
Execute COL_Run_DOM_Parameters @StartDate = '2011-12-22', @EndDate '2012-05-17'
しかし、実行すると、要求した日付範囲ではなく、2010 年から 2012 年までのすべてのデータが返されます。私のコードのどこに間違いがありますか?