2017-07-04 3 views
0

私はSQLサーバーを使用しており、クエリを挿入するためにデータを抽出する必要があります。私はそれを行うためにタスクのGenerate Scripts - > Data Onlyオプションを使用しました。ビューデータをSQL Serverの挿入スクリプトに抽出できますか?

私は、挿入クエリではなく、そのファイル内のビューのcreate文だけを抽出することができました。ビューの代わりにテーブルで同じことを試みたとき、私は挿入クエリを抽出することができました。

次に、ビューのデータをテーブルに書き込んで、挿入クエリを抽出しました。ここに何もないのですか?それともそれは知られている行動ですか?

+0

こんにちはJens、 テーブルの挿入クエリは抽出できますが、ビューは抽出できません。あなたが提供したリンクで指定されているのと同じ方法を使用しました。 – Kalyan

+0

私はそのビューのデータをテンポラリテーブルに書き出してみました。出来た。しかし、私はなぜそれが一時テーブルを使用せずに直接ビューのために働いていない理由はありません。この抽出がビューでは不可能である理由がわかっていますか? – Kalyan

+1

ご迷惑をおかけして申し訳ございません。はい、これは既知の動作であり、意図したとおりに動作します。ビューはテーブルのようなものではないので、結果は実行ごとに大きく異なる可能性があり、ストレージ上のどこにも保存されません。ビュー自体とそれがリンクしているテーブルとコンテンツをスクリプト化することができれば、スクリプティングツールがビューの結果をスクリプト化するのは大変なことです。 – Jens

答えて

0

あなたは、ビューは、任意のデータ自己が含まれていないため、ビューからスクリプトデータをできない理由がある...

SELECT * INTO ATable FROM AView 

を使用して、スクリプト実行、それが作成されたテーブルをすることができます保存されたクエリです...その定義をスクリプトすることはできますが、ビューが表示するデータは実際にはビューではなく一部のテーブルにあるため、ビューのデータを言うのは意味がありません。ビューのRESULTSをテーブルに保存して、データにします。

+0

私は同じことを試み、それは正常に働いた。しかし、一時テーブルを使用せずにビューで直接同じ方法を使用できないのはなぜですか? – Kalyan

+1

ビューにはデータが含まれていないため、保存されたクエリだけです。その定義をスクリプトすることはできますが、ビューのデータは実際には一部のテーブルに存在するため、ビューのデータを言うのは意味がありません。ビューの結果をテーブルに保存して、データに変換します – Milney

+0

あなたのコメントをコメントで更新してください。これを閉じます。あなたが大丈夫なら、私はそれを更新します。 – Kalyan

関連する問題