7

パラメータを受け入れるSQLクエリがあります。そのクエリをビューに含めようとすると、SPや関数と同じようにビューがパラメーターを保持できないため、エラーが発生します。

したがって、パラメータを含まなければならないビューを作成する必要がある場合、それが可能であるということはどういうわけかありますか?

どうもありがとう

4

5 に答える 5

6

View でパラメーターを作成できるとは思いませんが、以下のような入力パラメーターを受け取る関数を作成できます。

CREATE FUNCTION dbo.Sample (@Parameter varchar(10))
RETURNS TABLE
AS
RETURN
(
 SELECT Field1, Field2,....
 FROM YourTable
 WHERE Field3 = @Parameter
)
于 2012-07-16T13:03:29.160 に答える
5

いいえ、MSDN から

内容 (列と行) がクエリによって定義される仮想テーブルを作成します。このステートメントを使用して、データベース内の 1 つ以上のテーブルにデータのビューを作成します。たとえば、ビューは次の目的で使用できます。

各ユーザーがデータベースに対して持つ認識に焦点を当て、簡素化し、カスタマイズします。

基になるベース テーブルに直接アクセスする権限をユーザーに付与せずに、ユーザーがビューを介してデータにアクセスできるようにするセキュリティ メカニズムとして。

スキーマが変更されたテーブルをエミュレートするための下位互換性のあるインターフェイスを提供する。

したがって、基本的に、これはテーブルのように機能し、テーブルに「パラメーター」を追加できる唯一の方法は、ビューにアクセスするときにフィルター ステートメントを使用することです。

于 2012-07-16T13:03:31.643 に答える
0

絶対にありません。ビューは、コンパイルされたデータのセットを含むテーブルと考えてください (ただし、実際にはビューはテーブルとは異なります)。したがって、sp や関数などの入力パラメーターを持つことはできません。

于 2012-07-16T13:27:00.477 に答える
-3

VIEWはクエリによって作成された他のテーブル全体であり、そのクエリにパラメータを含めることができるため、これを行ったことはありません....それは非常に単純です.

パラメータを使用して他のビューと同じようにビューを作成します....

例:

USE [iepa]
GO
/****** Object:  StoredProcedure [dbo].[get_Batch_Data]    Script Date: 06/30/2015 11:41:38 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[get_Batch_Data]
@inparm varchar(12)
AS
select *
from batch_data
where COM_Batch_ID=@inparm

そのビューを次のように呼び出します。

select from get_batch_data('61404')  <<<< 61404 is the parameter being passed....

ビューを使用して UNALTERABLE 情報をテーブルのサブセットまたはテーブルのユニオンに提供できるため、非常にシンプルで非常に強力です。
ビューはテーブルではないため、できないことがあります。

しかし、これらは、クエリで非常に複雑な結合/結合を形成するときに実行できないのと同じことです.1999年から上記のものを使用しているので、機能することはわかっています....

于 2015-06-30T16:47:24.440 に答える