2016-09-27 14 views
0

IはSQL Serverでパラメータ化されたビューを作成するには?

create view penord1_view 
as 
    select 
     ser, docno, pcode, barcode, pname, unid, unit, qty, rate 
    from 
     sale 
    where  
     tc = 'O01' and docdt > @xdate1 and docdt < @xdate2 

    union 

    select 
     sser as ser, sdocno as docno, pcode, barcode, pname, unid, unit, qty, rate 
    from  
     sale 
    where 
     tc = 'P01' and docdt > @xdate1 and docdt < @xdate2 

以下のような2つの図を有する2つ目は、問題は、私が最初のビューで@xdate1パラメータを渡すことができないということである

create view penord_view 
as 
    select 
     ser, docno, pcode, barcode, pname, unid, unit, rate, 
     SUM(qty) AS qty 
    from 
     penord1_view 
    group by 
     ser, docno, pcode, barcode, pname, unid, unit, rate 

あります。

ビューまたは

+0

なぜパラメータを渡すのですか?あなたは最初のビューから 'docdt'フィールドを返し、' WHERE'ステートメントを2番目のビューに追加することができます –

+0

docdtを使って合計することができないので、最初のビューからdocdtを返すことはできません –

+0

でも、ビューでスケーラ機能を使用しますか? –

答えて

1

ビューを定義することによってパラメータはありません、SQL Serverの他のいくつかの方法でこれを行う方法を提案してください。保存されたクエリとして見ることができます。パラメータを使用する場合は、ストアドプロシージャを使用して調べる必要があります。

+0

の関数には*含めないでください。関数*はストアドプロシージャでは使用できませんが、 –

+0

では、パラメタビューのようなテーブル値関数を使用することもできます。 –

関連する問題