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中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,但也有自己的特点.刚学完函数和存储过程,下面来和大家分享一下自己 ...
随机推荐
- [C语言 - 13] 运算符
算术运算符 运算符的优先级 括号 > 正负 > 数学运算 > 位运算 > 数学对比 > 逻辑对比 > 条件运算 > 赋值运算 A.赋值运算符 复合赋值运算 ...
- hdu2545 树上战争 (并查集)
Problem Description 给一棵树,如果树上的某个节点被某个人占据,则它的所有儿子都被占据,lxh和pfz初始时分别站在两个节点上,谁当前所在的点被另一个人占据,他就输了比赛,问谁能获胜 ...
- HTML5要点(一)
一.标签: <!-- -->:注释:cmd +/ <!DOCTYPE html><!--HTML5 专属版本声明标签(表明该页面使用HTML编写),代码最上层--> ...
- IDF实验室-python ByteCode writeup
题目地址:http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=45 下载来发现是crackme.pyc 可以用unc ...
- MFC 学习 之 菜单栏的添加
运行环境:vc++ 6.0 win81.通过资源 添加一组 菜单栏 如下: 2.在OnInitDialog()中添加如下代码: // Add "About..." men ...
- Select-Object用法
展开 modules 属性的详细信息 get-process |? {$_.processname -eq "cmd"}|select -ExpandProperty module ...
- 在LiteIDE 中增加build 的参数
问题: go build 时候其实可以带参数的,但是我们直接运行liteIDE 就找不到 特别对于 Walk 这个gui 需要 -ldflags="-H windowsgui" 把 ...
- SmoothProgressBar
https://github.com/castorflex/SmoothProgressBar
- PHP中的正则表达式函数preg_
preg_match(); //用于正则表达式的匹配,且只匹配一次 preg_match_all();//用于正则表达式的匹配,会对所有符合规则的都进行匹配 preg_replace(); ...
- iOS开发——MVC详解&Swift+OC
MVC 设计模式 这两天认真研究了一下MVC设计模式,在iOS开发中这个算是重点中的重点了,如果对MVC模式不理解或者说不会用,那么你iOS肯定学不好,或者写不出好的东西,当然本人目前也在学习中,不过 ...