亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

MySQL 5.7 create VIEW or FUNCTION or PROCEDURE

2024-08-31 01:04:14
字體:
來源:轉載
供稿:網友

1.視圖

a.

CREATEALGORITHM = UNDEFINEDDEFINER = `root`@`localhost`SQL SECURITY INVOKERVIEW `sakila`.`actor_info` ASSELECT`a`.`actor_id` AS `actor_id`,`a`.`first_name` AS `first_name`,`a`.`last_name` AS `last_name`,GROUP_CONCAT(DISTINCT CONCAT(`c`.`name`,': ',(SELECTGROUP_CONCAT(`f`.`title`ORDER BY `f`.`title` ASCSEPARATOR ', ')FROM((`sakila`.`film` `f`JOIN `sakila`.`film_category` `fc` ON ((`f`.`film_id` = `fc`.`film_id`)))JOIN `sakila`.`film_actor` `fa` ON ((`f`.`film_id` = `fa`.`film_id`)))WHERE((`fc`.`category_id` = `c`.`category_id`)AND (`fa`.`actor_id` = `a`.`actor_id`))))ORDER BY `c`.`name` ASCSEPARATOR '; ') AS `film_info`FROM(((`sakila`.`actor` `a`LEFT JOIN `sakila`.`film_actor` `fa` ON ((`a`.`actor_id` = `fa`.`actor_id`)))LEFT JOIN `sakila`.`film_category` `fc` ON ((`fa`.`film_id` = `fc`.`film_id`)))LEFT JOIN `sakila`.`category` `c` ON ((`fc`.`category_id` = `c`.`category_id`)))GROUP BY `a`.`actor_id` , `a`.`first_name` , `a`.`last_name`

b.

CREATEALGORITHM = UNDEFINEDDEFINER = `root`@`localhost`SQL SECURITY DEFINERVIEW `sakila`.`staff_list` ASSELECT`s`.`staff_id` AS `ID`,CONCAT(`s`.`first_name`,_UTF8' ',`s`.`last_name`) AS `name`,`a`.`address` AS `address`,`a`.`postal_code` AS `zip code`,`a`.`phone` AS `phone`,`sakila`.`city`.`city` AS `city`,`sakila`.`country`.`country` AS `country`,`s`.`store_id` AS `SID`FROM(((`sakila`.`staff` `s`JOIN `sakila`.`address` `a` ON ((`s`.`address_id` = `a`.`address_id`)))JOIN `sakila`.`city` ON ((`a`.`city_id` = `sakila`.`city`.`city_id`)))JOIN `sakila`.`country` ON ((`sakila`.`city`.`country_id` = `sakila`.`country`.`country_id`)))

2.存儲過程

a.

CREATE DEFINER=`root`@`localhost` PROCEDURE `film_in_stock`(IN p_film_id INT, IN p_store_id INT, OUT p_film_count INT)READS SQL DATABEGINSELECT inventory_idFROM inventoryWHERE film_id = p_film_idAND store_id = p_store_idAND inventory_in_stock(inventory_id);SELECT FOUND_ROWS() INTO p_film_count;END

b.

CREATE DEFINER=`root`@`localhost` PROCEDURE `rewards_report`(IN min_monthly_purchases TINYINT UNSIGNED, IN min_dollar_amount_purchased DECIMAL(10,2) UNSIGNED, OUT count_rewardees INT)READS SQL DATACOMMENT 'Provides a customizable report on best customers'proc: BEGINDECLARE last_month_start DATE;DECLARE last_month_end DATE;/* Some sanity checks... */IF min_monthly_purchases = 0 THENSELECT 'Minimum monthly purchases parameter must be > 0';LEAVE proc;END IF;IF min_dollar_amount_purchased = 0.00 THENSELECT 'Minimum monthly dollar amount purchased parameter must be > $0.00';LEAVE proc;END IF;/* Determine start and end time periods */SET last_month_start = DATE_SUB(CURRENT_DATE(), INTERVAL 1 MONTH);SET last_month_start = STR_TO_DATE(CONCAT(YEAR(last_month_start),'-',MONTH(last_month_start),'-01'),'%Y-%m-%d');SET last_month_end = LAST_DAY(last_month_start);/*Create a temporary storage area forCustomer IDs.*/CREATE TEMPORARY TABLE tmpCustomer (customer_id SMALLINT UNSIGNED NOT NULL PRIMARY KEY);/*Find all customers meeting themonthly purchase requirements*/INSERT INTO tmpCustomer (customer_id)SELECT p.customer_idFROM payment AS pWHERE DATE(p.payment_date) BETWEEN last_month_start AND last_month_endGROUP BY customer_idHAVING SUM(p.amount) > min_dollar_amount_purchasedAND COUNT(customer_id) > min_monthly_purchases;/* Populate OUT parameter with count of found customers */SELECT COUNT(*) FROM tmpCustomer INTO count_rewardees;/*Output ALL customer information of matching rewardees.Customize output as needed.*/SELECT c.*FROM tmpCustomer AS tINNER JOIN customer AS c ON t.customer_id = c.customer_id;/* Clean up */DROP TABLE tmpCustomer;END

3.函數

a.

CREATE DEFINER=`root`@`localhost` FUNCTION `get_customer_balance`(p_customer_id INT, p_effective_date DATETIME) RETURNS decimal(5,2)READS SQL DATADETERMINISTICBEGIN#OK, WE NEED TO CALCULATE THE CURRENT BALANCE GIVEN A CUSTOMER_ID AND A DATE#THAT WE WANT THE BALANCE TO BE EFFECTIVE FOR. THE BALANCE IS:# 1) RENTAL FEES FOR ALL PREVIOUS RENTALS# 2) ONE DOLLAR FOR EVERY DAY THE PREVIOUS RENTALS ARE OVERDUE# 3) IF A FILM IS MORE THAN RENTAL_DURATION * 2 OVERDUE, CHARGE THE REPLACEMENT_COST# 4) SUBTRACT ALL PAYMENTS MADE BEFORE THE DATE SPECIFIEDDECLARE v_rentfees DECIMAL(5,2); #FEES PAID TO RENT THE VIDEOS INITIALLYDECLARE v_overfees INTEGER; #LATE FEES FOR PRIOR RENTALSDECLARE v_payments DECIMAL(5,2); #SUM OF PAYMENTS MADE PREVIOUSLYSELECT IFNULL(SUM(film.rental_rate),0) INTO v_rentfeesFROM film, inventory, rentalWHERE film.film_id = inventory.film_idAND inventory.inventory_id = rental.inventory_idAND rental.rental_date <= p_effective_dateAND rental.customer_id = p_customer_id;SELECT IFNULL(SUM(IF((TO_DAYS(rental.return_date) - TO_DAYS(rental.rental_date)) > film.rental_duration,((TO_DAYS(rental.return_date) - TO_DAYS(rental.rental_date)) - film.rental_duration),0)),0) INTO v_overfeesFROM rental, inventory, filmWHERE film.film_id = inventory.film_idAND inventory.inventory_id = rental.inventory_idAND rental.rental_date <= p_effective_dateAND rental.customer_id = p_customer_id;SELECT IFNULL(SUM(payment.amount),0) INTO v_paymentsFROM paymentWHERE payment.payment_date <= p_effective_dateAND payment.customer_id = p_customer_id;RETURN v_rentfees + v_overfees - v_payments;END

b.

CREATE DEFINER=`root`@`localhost` FUNCTION `inventory_in_stock`(p_inventory_id INT) RETURNS tinyint(1)READS SQL DATABEGINDECLARE v_rentals INT;DECLARE v_out INT;#AN ITEM IS IN-STOCK IF THERE ARE EITHER NO ROWS IN THE rental TABLE#FOR THE ITEM OR ALL ROWS HAVE return_date POPULATEDSELECT COUNT(*) INTO v_rentalsFROM rentalWHERE inventory_id = p_inventory_id;IF v_rentals = 0 THENRETURN TRUE;END IF;SELECT COUNT(rental_id) INTO v_outFROM inventory LEFT JOIN rental USING(inventory_id)WHERE inventory.inventory_id = p_inventory_idAND rental.return_date IS NULL;IF v_out > 0 THENRETURN FALSE;ELSERETURN TRUE;END IF;END

以上所述是小編給大家介紹的MySQL 5.7 create VIEW or FUNCTION or PROCEDURE,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!

 

注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
81精品国产乱码久久久久久| 97视频在线免费观看| 成人亲热视频网站| 欧美精品激情blacked18| 伦伦影院午夜日韩欧美限制| …久久精品99久久香蕉国产| 国产精品久久久久久久久久免费| 国产精品综合网站| 岛国av一区二区三区| 国产精品极品美女粉嫩高清在线| 国产一区二区精品丝袜| 亚洲一区二区免费在线| 国内精品免费午夜毛片| 欧美最猛性xxxxx免费| 日韩免费不卡av| 九九热这里只有在线精品视| 日韩电影免费观看在线观看| 欧美激情第99页| 成人h视频在线| 91免费的视频在线播放| 亚州成人av在线| 国产丝袜视频一区| 国产日韩在线免费| 久久亚洲国产精品成人av秋霞| 91色p视频在线| 欧美日韩一区免费| 一区二区av在线| 精品一区二区三区四区| 亚洲人午夜色婷婷| 欧美在线一级va免费观看| 亚洲欧美综合另类中字| 久久久久久一区二区三区| 精品国产视频在线| 日韩精品视频免费在线观看| 亚洲专区国产精品| 久久免费国产视频| 欧美日韩激情小视频| 日韩在线不卡视频| 亚洲永久在线观看| 欧美夫妻性视频| 伊是香蕉大人久久| 91国产视频在线| 日韩av日韩在线观看| 欧美性猛交xxxxx免费看| 欧美大尺度在线观看| 国产视频精品va久久久久久| 国产一区二区三区在线免费观看| 亚洲网站在线播放| 日韩免费观看网站| 日韩高清av一区二区三区| 一本色道久久88综合日韩精品| 中文字幕av一区| 久久视频在线免费观看| 性日韩欧美在线视频| 午夜精品国产精品大乳美女| 国产在线不卡精品| 久久成人精品电影| 国产精品丝袜久久久久久不卡| 91香蕉嫩草神马影院在线观看| 亚洲国产第一页| 欧美在线视频观看| 日日狠狠久久偷偷四色综合免费| 欧美日韩国产成人| 91美女片黄在线观看游戏| 中文国产成人精品| 亚洲网站视频福利| 国产成人精彩在线视频九色| 欧美成人高清视频| 亚洲跨种族黑人xxx| 超在线视频97| 最好看的2019年中文视频| 国语自产精品视频在线看| 亚洲区bt下载| 国产精品视频一| 国产精品一区二区久久精品| 精品成人69xx.xyz| 97在线免费视频| 国产精品27p| 日韩精品有码在线观看| 亚洲人线精品午夜| 欧美日韩国产色| 欧美另类老女人| 国产福利视频一区二区| 9.1国产丝袜在线观看| 日韩中文字幕在线视频播放| 97视频在线观看亚洲| 538国产精品一区二区免费视频| 97视频在线观看成人| 午夜免费久久久久| 亚洲日韩中文字幕在线播放| 久久精品99久久香蕉国产色戒| 日韩av电影手机在线观看| 日韩在线视频观看| 欧美日韩日本国产| 亚洲精品一区在线观看香蕉| 久久久久北条麻妃免费看| 精品久久久国产精品999| 国产精品大陆在线观看| 欧美激情精品久久久久久蜜臀| 狠狠色香婷婷久久亚洲精品| 久久精品国产清自在天天线| 中文字幕国产亚洲2019| 欧美一区二区三区免费观看| 亚洲欧美一区二区三区在线| 美日韩精品视频免费看| 亚洲欧美综合区自拍另类| 日本亚洲欧美成人| 国产91九色视频| 久久97久久97精品免视看| 亚洲午夜未满十八勿入免费观看全集| 中文字幕日韩欧美在线| 亚洲欧洲免费视频| 日韩69视频在线观看| 国产香蕉一区二区三区在线视频| 亚洲人在线视频| 亚洲女人天堂网| 欧美视频在线观看 亚洲欧| 国产成人在线精品| 黑人巨大精品欧美一区二区| 欧美成人精品在线视频| 91av中文字幕| 国产精品久久久久9999| 91久久在线播放| 日韩av影视综合网| 91精品啪在线观看麻豆免费| 亚洲成人三级在线| 久久国产精品偷| 日本精品久久久久影院| 亚洲国产黄色片| 久久久黄色av| 国产精品久久99久久| 国产一区二区三区四区福利| 久久久久久久影院| 日韩在线免费观看视频| 精品中文字幕乱| 久久久人成影片一区二区三区| 亚洲精品国产精品自产a区红杏吧| 国产精品福利久久久| 日韩电影免费观看在线观看| 伊人青青综合网站| 成人免费高清完整版在线观看| 三级精品视频久久久久| 欧美日韩xxx| 国产精品久久999| 日韩精品高清在线| 成人国产精品一区| 欧美亚洲国产视频| 久久久久国色av免费观看性色| 国产亚洲成精品久久| 另类天堂视频在线观看| 欧美美女15p| 中文字幕亚洲一区在线观看| 高清欧美性猛交xxxx| 欧美性色xo影院| 日韩精品中文字幕在线播放| 色噜噜狠狠狠综合曰曰曰88av| 欧美放荡办公室videos4k| 91免费欧美精品| 欧美性猛交xxxxx免费看| 亚洲jizzjizz日本少妇| 日韩综合中文字幕| 国产不卡av在线| 久久久999精品| 国产脚交av在线一区二区|