0

1 つの大きな SQL クエリがあり、そのクエリを使用してデータを取得したい

declare @Period VARCHAR(10)  = 'MTD'
declare @Date DATETIME = '2011-08-31'

select statementそして、上記のパラメーターを渡すところに大きなものがあり、出力を実行します。

これで、結果を確認するために毎回ここで渡す必要がある 10 の異なる日付があります。

これらの日付を上記のパラメーターに渡すにはどうすればよいdeclare @Date DATETIMEですか?どうすればハードコーディングできますか?

したがって、私の希望する出力は、選択した日付に対するものになります。少なくとも 3 つの日付のヒントを教えてください。

4

1 に答える 1

6

テーブル値パラメーターを使用します。まず、タイプを作成します。

CREATE TYPE dbo.Dates AS TABLE(d DATE);

これで、ストアド プロシージャはこの型をパラメーターとして受け取ることができます。

CREATE PROCEDURE dbo.whatever
  @d dbo.Dates READONLY
AS
BEGIN
  SET NOCOUNT ON;

  SELECT t.columns
    FROM dbo.tableName AS t
    INNER JOIN @d AS d
    ON t.[date] = d.d;
END
GO

次に、アプリケーションから、このパラメーターを として渡すことができますDataTable

于 2013-04-01T13:50:25.547 に答える