Como outros RDBMS, os metadados de visualização são armazenados no momento da criação da visualização.
De CREATE VIEW
nos documentos do MySQL
A definição da visualização é “congelada” no momento da criação, portanto, as alterações posteriores nas tabelas subjacentes [sic] não afetam a definição da visualização.
Não consigo ver uma maneira de atualizar esses metadados de exibição de forma limpa, ao contrário de outros RDBMS:
- Servidor SQL:
EXEC sp_refreshview 'MyView'
- Oráculo:
ALTER VIEW MyView COMPILE
O sistema aqui parece ser "faça isso manualmente" com DROP/CREATE, que não é meu estilo. A multidão habitual que faz esse processo manual está de licença, então cabe a mim esta semana.
Também não tenho um lacaio para indicar: então, qualquer solução, por favor...
Para ver a definição da exibição, execute um dos seguintes procedimentos:
SHOW CREATE VIEW viewname\G
SELECT * from information_schema.views where table_name='viewname'\G
Aqui está um exemplo rápido:
Seja qual for o método escolhido, você pode ver visivelmente a consulta que compõe a exibição. Você pode esculpir CREATE OR REPLACE VIEW usando o que for mostrado.
Espero ter ajudado, e bem-vindo ao DBA MinionExchange!!!