【发布时间】:2017-05-13 14:01:59
【问题描述】:
我创建了一个视图,它显示了来自多个表的数据。现在我想对 view 执行数据操作操作。我怎样才能做到这一点?
这是我的看法
CREATE
ALGORITHM = UNDEFINED
DEFINER = `forge`@`%`
SQL SECURITY DEFINER
VIEW `contact_view` AS
SELECT
`c`.`id` AS `id`,
`c`.`fname` AS `fname`,
`c`.`mname` AS `mname`,
`c`.`lname` AS `lname`,
CONCAT(`c`.`fname`, ' ', `c`.`lname`) AS `fullname`,
`c`.`gender` AS `gender`,
`c`.`dob` AS `dob`,
`c`.`points` AS `points`,
`c`.`stars` AS `star`,
`c`.`inst_id` AS `inst_id`,
`c`.`ingr_id` AS `ingr_id`,
`c`.`fami_id` AS `fami_id`,
`c`.`sour_id` AS `sour_id`,
`c`.`image` AS `img`,
`c`.`address` AS `address`,
`c`.`email` AS `email`,
`c`.`doc` AS `doc`,
`cl`.`value` AS `mobile`,
`p`.`district` AS `district`,
`p`.`pincode` AS `pincode`
FROM
(((`contact` `c`
JOIN `communication_link` `cl`)
JOIN `contact_communication` `cc`)
JOIN `pincode_db` `p`)
WHERE
((`cl`.`cont_id` = `c`.`id`)
AND (`cl`.`coco_id` = 1)
AND (`c`.`pinc_id` = `p`.`id`))
【问题讨论】:
-
还有其他方法可以实现吗?
-
View 只是一个
pre-defined SELECT statement。您不能在视图中进行任何更新或删除。如果你想实现数据操作操作,那就试试stored procedure。 -
@E4c5 你确定吗?
-
好吧@Strawberry,你是对的,在某些情况下你可以插入或更新到多个表视图!你每天都会学到一些东西:)
-
准备好在不久的将来处理极其复杂的数据清理
标签: mysql sql laravel-5 mariadb