SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.12.2008 09:13:03

Aliq
Участник
Зарегистрирован: 01.12.2008
Сообщений: 7

VIEW

вот здесь:
http://www.sql-tutorial.com/sql-views-sql-tutorial/
дано (как я понял) общее определение view. есть такая фраза: "The view’s data is generated dynamically when the view is referenced."

здесь:
http://dev.mysql.com/doc/refman/5.0/en/create-view.html
информация о view в mysql. и тут фраза, на мой взгляд, противоречащая приведенной выше:
"The view definition is “frozen” at creation time, so changes to the underlying tables afterward do not affect the view definition."

в первом случае говорится о том, что изменения в базовых таблицах отражаются во view, а во втором - утверждается обратное.

действительно ли в mysql изменения в базовых таблицах не отражаются на виде. и если да - какой тогда в видах практический смысл?

Неактивен

 

#2 03.12.2008 11:19:32

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: VIEW

Во втором пункте имеются в виду метаданные. Допустим, у Вас есть таблички a и b и Вы делаете
над ними представление v:

CREATE TABLE a (a INT);
CREATE TABLE b (a INT);
CREATE VIEW v AS SELECT a FROM a UNION SELECT a FROM b;


Если Вы затем измените табличку a
ALTER TABLE a CHANGE a newcolname INT;

то представление v не поменяется, и при обращении к нему Вы получите ошибку.

Изменение самих данных, разумеется, будет видно и при обращении к представлению.

Неактивен

 

#3 03.12.2008 11:44:55

Aliq
Участник
Зарегистрирован: 01.12.2008
Сообщений: 7

Re: VIEW

ясно, спасибо!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson