oracle中存储过程的使用
存储过程
刚开始我接触到数据库的时候,感觉存储过程是很难的,但是当你看完我给你列举的例子,你就能够轻松的掌握存储过程的创建和使用了。
存储过程是在大型数据库系统中存储过程在数据库中经过第一次编译后就不需要再次编译,用户通过指定存储过程的名字并给出参数来执行
例子:
查询计算机系学生成绩,列出学生姓名、课程名、成绩
create procedure student_grade1
as
select sname,cname,grade
from student s join sc on s.sno=sc.cno
join course c on c,cno=sc.cno
where sdept = ‘计算机系’;
查询某个制定系学生的考试情况,列出姓名,所在系、课程名和成绩
create procedure student_grade2
@dept char(20) --参数
as
select sname,sdept,cname,grade
from student s,sc,course c
where s.sno=sc.cno and c.cno=sc.cno
and sdept = @dept
查询某个学生,某门课程的成绩,列出学生名、课程名、成绩
create procedure student_grade3
@stu_name char(10),@course_name char(20)
as
select sname,cname,grade
from student s join sc on s.sno=sc.cno
join course c on c.cno=sc.cno
where
sname = @stu_name and
cname= @course_name
调用过程用exec
exec student_grade3
可以输入指定学生和某门课程
查询某个学生某门课程的考试成绩,默认课程为数据库
create procedure student_grade4
@stu_name char(10),
@course_name char(20) = ‘数据库’
as
select sname,cname,grade
from student s join sc on s.sno=sc.cno
join course c on c.cno=sc.cno
where
sname = @stu_name and
cname= @course_name
查询指定列,指定性别的学生中年龄大于制定年龄的学生
create procedure student_grade5
@sex char(2) = ‘男’,
@age int = 20,
@dept char(20) = ‘计算机’
as
select * from student
where sex = @sex and age<@age
and sdept = @sdept
计算两个数的和
create procedure sum
@var1 int ,var2 int,var3 int output
as
var3 = var1+var2
统计制定课程的平均成绩,并将统计结果用输出参数返回
create procedure avggrade
@cname char(20),
@avg_grade int output
as
select @avg_grade = avggrade
from sc join course c on c.cno=sc.cno
where cname = @cname
将指定课程的学分加2分
create procedure udgrade
@cname char(20)
as
update course set credit = credit+2
where cname = @cname
oracle中存储过程的使用的更多相关文章
- Oracle中存储过程传入表名学习
Oracle中存储过程传入表名: 一.动态清除该表的数据 create or replace procedure p_deletetable(i_tableName in varchar2) as ...
- oracle中存储过程详解
oracle中存储过程的使用 过程是指用于执行特定操作的PL/SQL块.如果客户应用经常需要执行特定操作,那么可以考虑基于这些操作建立过程.通过使用过程,不仅可以简化客户应用的开发和维护,而且可以提高 ...
- 查看Oracle中存储过程长时间被卡住的原因
1:查V$DB_OBJECT_CACHE SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CUX_OE_ORDER_RPT_PKG' AND LOCKS!='0 ...
- oracle中存储过程中调用存储过程
存储过程中调用存储过程 create or replace package body PF_Role_Pack is procedure sp_GetPage_Role(pageSize_ in nu ...
- Oracle中存储过程与函数的区别
Oracle 获取信息一般用function 修改数据用存储过程(需要执行commit命令)
- [转]Oracle中存储过程和函数的区别
原文地址:http://blog.csdn.net/tender001/article/details/8066203 存储过程和函数: 例子: //创建过程 create or replace pr ...
- oracle中存储过程把表导出txt文件
create or replace directory MY_DIR as 'D:\MY_DIR\'; grant read,write on directory MY_DIR to adm; sel ...
- oracle中带参存储过程的使用
Oracle中存储过程带参分为:输入参数(in)和输出参数(out) 例如: create or replace procedure out_test(v_user in emp.user_name% ...
- oracle中函数和存储过程的区别和联系【转载竹沥半夏】
oracle中函数和存储过程的区别和联系[转载竹沥半夏] 在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,但也有自己的特点.刚学完函数和存储过程,下面来和大家分享一下自己 ...
随机推荐
- Android实例-使用自定义字体文件(XE8+小米2)
结果: 1.需要修改DELPHI自身的FMX.FontGlyphs.Android.pas,复制到程序的根目录下(红色部分为修改过的). 2.字体文件从 C:\Windows\Fonts 直接拷贝到A ...
- 第二十章、启动流程、模块管理与 Loader
核心与核心模块 在整个启动的过程当中,是否能够成功地驱动我们主机的硬件配备, 是核心 (kernel) 的工作!而核心一般都是压缩档,因此在使用核心之前,就得要将它解压缩后, 才能加载主内存当中. 另 ...
- Altium Designer PCB 常用功能键
altium designer 5种走线模式的切换 : shift+space 方格与格点的切换:View-Grids-ToggleVisible Grid Kind源点:Edit-Origin-Se ...
- ST-Link 驱动安装
电脑中可以预先安装一个ST Visual Programmer 这个直接带STLink驱动或是安装一个STM32 ST-Link Uitilty 然后选择自安安装 点出下一步 在弹出的对话框选择“仍然 ...
- 第一个android程序所遇到问题
1.工程package的命名空间与activity的命名空间不一致,导致setcontentview找不到layout文件 2.增加Button等控件后,Java.R中id必须在删除现有Java.R文 ...
- Tomcat服务器常用配置和HTTP简介
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...
- cocos2d-x 聊天输入框实现
转自:http://bbs.9ria.com/thread-216948-1-10.html 聊天输入框 (单行输入框 ,多行可自己扩展) 实现功能: 1.普通输入 2.设置输入框显示最大宽度(PT ...
- Lync安装随笔
使用域管理员权限扩展架构 1.iis角色安装 2.net3.5,消息队列服务器.目录服务集成.桌面体验.AD DS和AD LDS工具(远程服务管理工具中),启用WindowsFirewall服务 3. ...
- .NET连接MySql数据库的方法及示例
方法一: 使用MySQL推出的MySQL Connector/Net组件, 该组件是MySQL为ADO.NET访问MySQL数据库设计的.NET专用访问组件.完成该组件后,需要在项目中引用这个组件,也 ...
- [Practical Git] Format commit history with git log arguments
When running the git log command, we can pass in options as arguments toformat the data shown for ea ...