mysql(10)

视图

数据库表称为基表,视图称为虚表
语法:

CREATE VIEW 视图表[(视图字段列表)]
AS 
SELECT 语句;

查看视图

show create view xxx;
desc xxx;

删除视图

drop view xxx;

检查视图

with [local | cascaded] check option

e.g.
CREATE VIEW choose_1_view AS
SELECT * FROM choose  WHERE score < 60;
INSERT INTO choose_1_view VALUES (NULL, '2012003', 2, 100, NOW());
SELECT * FROM choose;
DELETE FROM choose WHERE choose.`student_no` = '2012003' AND choose.`course_no` = 2;
未经过检查直接插入到table

CREATE VIEW choose_2_view AS
SELECT * FROM choose  WHERE score < 60 WITH LOCAL CHECK OPTION;
INSERT INTO choose_2_view VALUES (NULL, '2012003', 2, 100, NOW());
2 queries executed, 1 success, 1 errors, 0 warnings
<e>查询:insert into choose_2_view values (null, '2012003', 2, 100, now())

错误代码: 1369
CHECK OPTION failed 'choose.choose_2_view'

localcascade
local:满足了视图检查更新语句才可以
cascade:需要满足针对该视图的所有检查条件更新语句才可以

你可能感兴趣的:(sql)