2016-07-26 3 views
0

私はこのようになりますいくつかのコードでクエリを発見しました。どういう意味ですか?これまたは使用例に関するドキュメントはどこで入手できますか? selectため私のSQL Serverのselectクエリで、 "for system_time between"とは何ですか?</p> <pre><code>select * from myview for system_time between @fromDt and @toDt --what is this? where countryId = @Id </code></pre> <p>私は、クエリで<code>for system_time between X and Y</code>見たことがない:

Here is the syntax、それはfor句に言及し、しかし、それは唯一のXML、JSON、およびBROWSEオプション(link)を挙げています。

+0

クエリは機能しますか?あなたのビューにsystem_timeという名前の列がありますか? –

+2

2016年の新機能:[Temporal Tables](https://msdn.microsoft.com/en-us/library/dn935015.aspx) – jpw

答えて

1

あなたはコメントで説明したように2016年までの新機能である、Temporal Tablesでそれを見つけることができます。

How do I query temporal data?

SELECT statement FROM<table>節は5時間的に固有のサブ句を使用して新しい句FOR SYSTEM_TIMEを持っています現在のテーブルと履歴テーブルの間でデータ を照会します。この新しいSELECTステートメント の構文は、単一のテーブルに直接サポートされ、 の複数の結合を介して伝播され、複数の一時テーブルの上のビューを介して伝播されます。

その後も書かれています:SYSTEM_TIME FOR

は ゼロ時間(SysStartTime = SysEndTime)と有効期間を持つ行を除外します。同じトランザクション内で同じプライマリキー に対して複数の更新を実行すると、これらの行は になります。その場合、トランザクションの前の行バージョンと、トランザクションの後に実際になったものが の一時的な照会サーフェイス です。 分析にこれらの行を含める必要がある場合は、履歴テーブルを直接クエリします。

関連する問題