0

次のようにビュー(簡略化)を作成した後:

create view testView as
select t1.* from table1 t1
join table2 t2 on t1.id = t2.id
where t1.value = someValue

編集しようとすると、ワイルドカードがテーブルの実際の列名に置き換えられました。

新しい列がテーブルに追加されたとき、手動でそれらをビューに追加するか、作成スクリプトを保存して、テーブルの変更後に再実行する必要があるため、これは私にとって面倒です。

編集のためにワイルドカードを保持する方法はありますか? MSSQL では、ビューの編集時にワイルドカードが保持されていたため、単に sp_refreshview [viewname] を実行してビューを更新し、テーブルに新しい列を含めることができました。

4

1 に答える 1

2

MySQLドキュメントからCREATE VIEW

ビュー定義は作成時に「凍結」されるため、後で基になるテーブルを変更してもビュー定義には影響しません。たとえば、ビューがSELECT *テーブル上で定義されている場合、後でテーブルに追加された新しい列はビューの一部になりません。

したがって、短い答えはノーです。ワイルドカードを保持することはできません。

于 2012-08-24T12:22:09.923 に答える