Erstellen Sie eine neue Spalte in einer Ansicht und weisen Sie ihr einen Datentyp zu

9

Hier ist meine Frage:

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

Ich erhalte einen Fehler in der dritten Zeile.

Wenn ich die Abfrage so lasse, ohne den Datentyp für Spalte 2 anzugeben, funktioniert die Abfrage, aber der Standarddatentyp ist int, während ich VARCHAR haben möchte.

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

Können Sie bitte helfen? Vielen Dank!

Hinweis: Nur Spalte1 befindet sich in VIEW1. Spalte2 befindet sich NICHT in VIEW1, sondern ist eine generierte Spalte mit NULL-Werten.

Anna T.
quelle
Sie wissen, dass Ansichten, die Ansichten aufrufen, im Allgemeinen eine sehr schlechte Technik sind und Leistungsprobleme verursachen können? Sie möchten diesen Weg wirklich nicht beschreiten, da es ein Albtraum ist, ihn später zu beheben, wenn Sie viele Datensätze haben und die Leistungsprobleme auftauchen. Und ich weiß nicht, warum Sie das tun möchten. Wenn die Spalte nicht in einer Tabelle enthalten ist und nur NULL sein kann, was nützt es Ihnen? Sie können es nicht mit anderen Werten
aktualisieren

Antworten:

10

Du wirst das wollen.

CREATE VIEW VIEW2
AS SELECT [Column1],
cast(NULL as varchar(10)) AS column2
FROM VIEW1;
mrdenny
quelle