使用SQL创建视图和存储过程

@[toc] 1.定义所有女生信息的视图“F_Student”(5分)CREATE VIEW F_StudentAS SELECT *FROM StudentWHERE Sex='女'2.通过视图“F_Student”查询小于18岁的女生人数。(5分)SELECT COUNT(*)FROM F_StudentWHERE Sage<183.定义“计算机系”学生的视图”CS_Student”,并要求透过该视图进行的更新操作只涉及计算机系学生。(5分)CREATE VIEW CS_StudentAS SELECT Sno,Sname,Sex,Sage,SdeptFROM StudentWHERE Sdept= '计算机系'WITH CHECK OPTION4.通过视图CS_Student插入一条学生记录,数据自拟,插入的数据在Sdept是否有限制?(5分)INSERT INTO CS_StudentVALUES('19250101','王芳','女',20,'计算机系')有限制:所插入的数据在Sdept列上必须是“计算机系”5.通过视图CS_Student删除姓名为“徐庆”的学生记录,能否成功?为什么?(10分)DELETE FROM CS_StudentWHERE Sname='徐庆'go--执行结果显示0行受影响,则说明未删除成功SELECT *FROM StudentWHERE Sname='徐庆'go--执行查询依然可看到该生信息原因:徐庆并非“计算机系”学生,因此无法透过视图“CS_Student”来实现删除功能。6.建立选修了“数据库原理”这门课的学生信息视图“DB_SC”,视图列包含:学号,姓名,所在系,课程名,分数。(5分)CREATE VIEW DB_SC(Sno,Sname,Sdept,Cname,Score)ASSELECT Student.Sno,Sname,Sdept,Course.Cname,ScoreFROM Student,SC,CourseWHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno AND Cname='数据库原理'7.在视图“DB_SC”上定义新视图“DB_SC_60”,选修了“数据库原理”这门课且成绩及格的学生信息视图。(5分)CREATE VIEW DB_SC_60ASSELECT *FROM DB_SCWHERE Score>=608.将每门课程及其平均分建立视图,视图名自定义(5分)CREATE VIEW Cour_AVG(Cno,Cavg)ASSELECT Cno, AVG(Score)FROM SCGROUP BY CnogoSelect *from Cour_AVGGO9.将视图“F_Student”修改为记录所有男生信息的视图。(5分)ALTER VIEW F_StudentAS SELECT *FROM StudentWHERE Sex='男'10.删除视图“F_Student”(5分)DROP VIEW F_Student存储过程 11.创建一个存储过程“PROC_STU”,查询所有学生信息,执行该存储过程,查看结果。(10分)CREATE PROCEDURE PROC_STUASSELECT *FROM StudentGOEXEC PROC_STUgo12.创建一个存储过程“PROC_SELECT_SEX_COUNT”,查询男生和女生的人数。执行该存储过程,查看执行结果。(10分)CREATE PROCEDURE PROC_SELECT_SEX_COUNTASSELECT Sex,COUNT(Sno)FROM StudentGROUP BY SexGOEXEC PROC_SELECT_SEX_COUNTGO13.创建一个带有参数的存储过程,根据系别查询学生人数,执行该存储过程,查看执行结果。(10分)CREATE PROCEDURE PROC_SELECT_COUNT_BYDEPT@Dept varchar(50)ASSELECT COUNT(Sno)FROM StudentWHERE Sdept=@DeptGROUP BY SdeptgoEXEC PROC_SELECT_COUNT_BYDEPT '计算机系'go14.创建一个带有参数的存储过程,根据课程名,查询其先修课的课程名,要求使用输出参数返回查询结果,并执行该存储过程查看结果。(15分)CREATE PROCEDURE PROC_COURSE_PRE@cname varchar(50),@precname varchar(50) OUTPUTASSELECT @precname=CnameFROM CourseWHERE Cno IN(SELECT CpnoFROM CourseWHERE Cname=@cname)GODECLARE @name varchar(50),@pre varchar(50)SET @name='数据库原理'EXEC PROC_COURSE_PRE @name,@pre OUTPUTPRINT @prego

November 4, 2019 · 1 min · jiezi

微信小程序模板函数

微信小程序的视图模板的{{}} 方法并不支持直接调用js函数,比如 {{ (new Date()).toLocaleString() }}是无法编译成我们期望的结果的。 我们需要将js函数封装至wxs模块,然后便可以调用 # utils/date.wxsconst date = { now: function() { return (new Date()).toLocaleString() }}module.export = date# pages/date/date.wxml<wxs module="date" src="../../utils/date.wxs"></wxs><view>{{ date.now() }}</view>即刻。

September 8, 2019 · 1 min · jiezi

odoo视图继承

简介继承在odoo里可以通过继承的方式来改写已经存在的view对比view的定义视图定义中写法多了inherit_idinherit_id指向要改写的view<field name=“inherit_id” ref=“id_category_list”/>在arch里用xpath定位改写的元素<!– 改写 ibuilding list 列表视图 –><record id=“building_list_view” model=“ir.ui.view”> <field name=“name”>building.list.view</field> <field name=“model”>ibuilding.list</field> <field name=“inherit_id” ref=“building_list”/> <field name=“arch” type=“xml”> <!– 找到ids字段,在其后添加idea_id字段 –> <xpath expr="//field[@name=‘ids’]" position=“after”> <field name=“idea_id” string=“Number of ideas”/> </xpath> <!– 找到 upload 字段,在其后添加idea_ids字段 –> <xpath expr="//field[@name=‘upload’]" position=“replace”> <field name=“download” string=“下载一个文件”/> </xpath> </field></record>注意找到的元素必须是一个,如果定位出多个元素或者是空,都会报错。expr Xpath表达式用来选择父视图中的某个元素,如果没找到或找到多个元素会抛出一个异常position定位有如下选择inside 在内部结尾插入元素replace 替换元素before 在之前插入元素after 在其后插入元素attributes 修改xml的属性当仅匹配一个field时,erpr表达式可以简化如下<xpath expr="//field[@name=‘upload’]" position=“replace”> <field name=“download” /></xpath><field name=“upload” position=“replace”> <field name=“download” /></field>

March 15, 2019 · 1 min · jiezi

奥斯卡金像奖学院科学技术奖行业标准项目OpenColorIO加入ASWF

作者:eolin由Sony Pictures Imageworks开发开源色彩管理解决方案成为第二个Academy Software Foundation项目加利福尼亚州洛杉矶,2019年2月8日 - ASWF(Academy Software Foundation)是Linux基金会在电影和媒体行业开源软件开发的中立论坛,今天宣布OpenColorIO(OCIO)已被批准为基金会的第二个托管项目。OCIO最初由Sony Pictures Imageworks开发,是获得学院科学和技术奖(Academy Scientific and Technical Award)的色彩管理解决方案,用于在视觉效果和动画制作期间,跨多个内容创建应用程序建立和显示一致的图像。“OpenColorIO是电影行业的基础开源项目之一,它已成为整个视觉效果(VFX)和动画社区的重要资源。”Linux基金会ASWF执行董事David Morin说。“业内许多开发者已经为OpenColorIO做出了贡献,我们希望他们能够更轻松地做到这一点。”OCIO是动画和视觉特效制作的基本工具,已被用于数十部故事片,包括Spider-Man™:Into the Spider-Verse、Spider-Man™:Homecoming、Hotel Transylvania 3、Ghostbusters、Alice in Wonderland、Cloudy with a Chance of Meatballs、Surf’s Up和Watchmen。“OpenColorIO一直是整个视觉特效/动画社区的资源,有许多外部贡献和提交。”Sony Pictures Imageworks软件开发副总裁Michael Ford表示。“我们希望将OpenColorIO贡献给依赖它的社区,而ASWF则非常适合。每天使用它的开发者和公司将指导项目路线图,从新版本2.0的功能和发布节奏开始。”基于2003年开始的开发,OCIO可以在多种图形应用程序中,包括合成器、图像回放工具、渲染器和颜色分级中以一致的方式处理颜色变换和图像显示。它与ACES(Academy Color Encoding System)兼容,并在Katana、Mari、Nuke和Silhouette FX等商业应用程序中得到原生支持。Spider-Man™:Into the Spider-Verse使用到OpenColorIOASWF(Academy Software Foundation,学院软件基金会)于2018年8月由美国电影艺术与科学学院和Linux基金会推出,为开源软件开发者提供了一个中立的论坛,以便共享资源,并在图像创建、视觉效果、动画和声音方面进行协作。该基金会也是OpenVDB的所在地,OpenVDB是由梦工厂动画公司开发,是获得学术科学和技术奖的行业标准,用于创建更详细和逼真的体积图像。ASWF将通过技术指导委员会的监督来维护和进一步发展该项目。有兴趣了解更多信息,或为OpenColorIO做出贡献的开发者,可以注册加入邮件列表:ocio-dev@googlegroups.com或加入Slack频道 https://opencolorio.slack.com。KubeCon + CloudNativeCon和Open Source Summit大会日期:会议日程通告日期:2019 年 4 月 10 日会议活动举办日期:2019 年 6 月 24 至 26 日KubeCon + CloudNativeCon和Open Source Summit赞助方案KubeCon + CloudNativeCon和Open Source Summit多元化奖学金现正接受申请KubeCon + CloudNativeCon和Open Source Summit即将首次合体落地中国KubeCon + CloudNativeCon和Open Source Summit购票窗口,立即购票! ...

March 4, 2019 · 1 min · jiezi

MYSQL中视图的使用

1、什么是视图执行一条SQL,将结果集保存在一张虚拟表中2、为什么要使用视图重复利用SQL语句简化SQL查询,快速取数据只用知道表的部分结构保护数据,根据特定授权更改数据格式和表示,视图可返回与底层表的表示和格式不同的数据。注意事项• 在视图创建后,可以用与表基本相同的方式使用(查询、过滤、排序数据、与其他视图或连结、(添加、更新))• 视图只是用来查看存储在别处的数据的设施,本身不包含数据,返回的数据也是从其他表检索出来的。• 因为视图本身不包含数据,索引多个表连结或嵌套可能存在性能问题,需测试3、规则和限制表名必须唯一(与其他视图和表)创建视图没有限制足够权限视图可以嵌套,可以从其他视图查询来构造一个视图如果视图和从视图中查询都有order by,视图中的order by将被覆盖视图不能索引视图可以和表一起使用4、使用视图创建视图 create view查看创建视图的语句。Show create view viewname删除视图 drop view viewname更新视图,1️ 先drop后create 2️ 直接用create or replace view利用视图简化复杂的联结查询5、利用视图简化复杂的联结查询创建视图CREATE VIEW productcustomers ASSELECT cust_name, cust_contact, prod_idFROM customers, orders, orderitemsWHERE customers.cust_id = orders.cust_idAND orderitems.order_num = orders.order_num使用视图SELECT cust_name, cust_contactFROM productcustomersWHERE prod_id = ‘TNT2’;6、用视图重新格式化检索出的数据select concat (rtrim(vend_name) , ‘(’,rtrim(vend_country),’)’) as vend_title from vendors order by vend_name;如果经常用到这个格式的话,可以创建一个视图CREATE VIEW vendorlocations ASSELECT concat ( rtrim( vend_name ), ‘(’, rtrim( vend_country ), ‘)’ ) AS vend_title FROM vendors ORDER BY vend_name;可以直接通过视图查询得出结果SELECT * FROM vendorlocations; ...

February 24, 2019 · 1 min · jiezi