ビューに新しい列を作成し、データ型を割り当てます


9

これが私のクエリです:

CREATE VIEW VIEW2
AS SELECT [Column1],
(NULL) AS column2 VARCHAR(10)
FROM VIEW1;

3行目にエラーが表示されます。

Column2のデータ型を指定せずにこのようなクエリを残すと、クエリは機能しますが、デフォルトのデータ型はintになりますが、VARCHARが必要です。

CREATE VIEW VIEW2
AS SELECT [Column1],
(NULL) AS column2 
FROM VIEW1;

手伝ってくれませんか?ありがとうございました!

注:VIEW1にはColumn1のみが含まれています。Column2はVIEW1にはなく、NULL値を持つ生成された列です。


ビューを呼び出すビューは一般に非常に貧弱な技術であり、パフォーマンスの問題を引き起こす可能性があることを知っていますか?多くのレコードがあり、パフォーマンスの問題が明らかになったときに後で修正するのは悪夢なので、その道を進みたくないのです。そして、なぜあなたがこれをしたいのかについて私は途方に暮れています。列がテーブル内になく、NULLのみが可能である場合、それはどのような利点がありますか?他の値で更新することはできません
HLGEM '19年

回答:


10

あなたはこれが欲しいでしょう。

CREATE VIEW VIEW2
AS SELECT [Column1],
cast(NULL as varchar(10)) AS column2
FROM VIEW1;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.