Wenqi's Blog

MySQL-SQL之视图、存储过程

例如一个用户表customers(主键为cust_id),一个用户可以有多个订单,订单表为orders(主键为order_num,外键为cust_id),一个订单有多个订单项,订单项表是orderitems(主键order_num,order_item,外键order_num,prod_id),每个订单项对应一个产品,产品表products(主键prod_id,外键vend_id),每个产品对应一个供货商(vendors表,主键vend_id),和多个评价(productnotes表,主键note_id,外键prod_id),也就是如下图所示。

创建视图

查找订购了产品号为“TNT2”的用户名和用户的联系方式,使用连表查询

构建对应的视图,并查询,可以得到同样的结果

使用concat(关键字可以小写)拼接组合输出格式,并视图化

更新和删除视图

当视图的定义中有分组,联接,子查询,并,聚合函数时不能进行更新,更新视图和更新表的一样使用update命令,删除视图使用drop命令。

创建、调用和删除存储过程

由于mysql的语句分隔符是分号,所以在写存储过程的时候需要重新定义语句分割符,不然会报错,在存储过程定义完成后,需要改回语句分隔符为分号。

创建有参数的存储过程

使用in和out参数

使用含有逻辑判断的存储过程


其他

你同样可以在我的博客看到这篇文章。

坚持原创技术分享,您的支持将鼓励我继续创作!