@(一隻心中無碼的程序員)專欄程序員
- ~
題目描述
針對actor表建立視圖actor_name_view,只包含first_name以及last_name兩列,並對這兩列從新命名,fist_name爲first_name_v,last_name修改成last_name_v:
CREATE TABLE IF NOT EXISTS actor (
actor_id smallint(5) NOT NULL PRIMARY KEY,
first_name varchar(45) NOT NULL,
last_name varchar(45) NOT NULL,
last_update timestamp NOT NULL DEFAULT (datetime('now','localtime')))code
本題可用如下兩種方法求解,區別在於命名VIEW中字段名的方法差別。另外,本題OJ系統有Bug,由錯誤提示能夠看到,VIEW中本應有字段first_name_v,而OJ系統誤設爲了fist_name_v。 方法一:注意 CREATE VIEW ... AS ... 的 AS 是建立視圖語法中的一部分,然後面的兩個 AS 只是爲字段建立別名 CREATE VIEW actor_name_view AS SELECT first_name AS fist_name_v, last_name AS last_name_v FROM actor 方法二:直接在視圖名的後面用小括號建立視圖中的字段名 CREATE VIEW actor_name_view (fist_name_v, last_name_v) AS SELECT first_name, last_name FROM actor