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中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,但也有自己的特点.刚学完函数和存储过程,下面来和大家分享一下自己 ...
随机推荐
- Socket的连接问题
case 10004: error = "Interrupted system call 中断的系统呼叫"; break; case 10009: error = "Ba ...
- [Objective-c 基础 - 3.3] @property属性详解
ARC 自动引用计数 ARC不是垃圾回收,而是编译器自动插入代码来减少程序员的代码输入和失误. 同时比垃圾和效率要高,因为其不影响运行时间,相当于自己管理内存. 总是通过属性来 ...
- [六]SpringMvc学习-文件上传
1.单文件上传 1.1修改配置文件 <bean id="multipartResolver" class="org.springframework.web.mult ...
- Windows下环境变量配置
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_33 PATH+=%JAVA_HOME%\bin; CLASSPATH=.;%JAVA_HOME%\lib\d ...
- 软件测试之WEB测试经典总结
在Web工程过程中,基于Web系统的测试.确认和验收是一项重要而富有挑战性的工作.基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览 ...
- Linux中的终端、控制台、tty、pty等概念
参考:http://news.newhua.com/news1/program_language/2010/623/10623141048745773199BCF0CFH6AKB9930IGCFKHB ...
- WCF的ABC
首先: WCF的全称是Windows Communication Foundation,Windows通信基础的意思,是Microsoft为构建面向服务的应用程序而提供的统一编程模型,它整合.NET平 ...
- 【转】C语言 字符数组与字符串
原文:http://blog.csdn.net/metasearch/article/details/2856097 在C语言编程中,当我们声明一个字符串数组的时候,常常需要把它初始化为空串.总结起来 ...
- 10 Technologies That will Shape Future Education--reference
http://dizyne.net/technologies-that-will-shape-future-education/ Technology is on the rise and with ...
- springMVC学习笔记三
十三.springMVC和spring集成 配置文件,spring的配置路径applicationContext.xml 在默认的web-inf下面 strut的配置文件默认在src下面 用了什么框架 ...