Crea una nuova colonna in una vista e assegnale un tipo di dati


9

ecco la mia domanda:

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

Viene visualizzato un errore nella terza riga.

Se lascio la query in questo modo, senza specificare il tipo di dati per Column2, la query funziona, ma il tipo di dati predefinito sarà int, mentre voglio avere VARCHAR.

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

Potete per favore aiutare? Grazie!

Nota: solo Column1 è in VIEW1. Column2 NON è in VIEW1, è una colonna generata con valori NULL.


Sai che le viste che chiamano viste sono generalmente una tecnica molto scadente e possono causare problemi di prestazioni? Davvero non vuoi seguire questa strada perché è un incubo risolvere in seguito quando hai molti dischi e vengono visualizzati i problemi di prestazioni. E non riesco a capire perché vorresti farlo. Se la colonna non è in una tabella e può essere solo NULL, a che serve? Non puoi aggiornarlo con nessun altro valore
HLGEM

Risposte:


10

Lo vorrai.

CREATE VIEW VIEW2
AS SELECT [Column1],
cast(NULL as varchar(10)) AS column2
FROM VIEW1;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.