Oracle总结之plsql编程(基础七)
紧接基础六,对oracle角色和权限的管理之后,在接下来的几次总结中来就最近工作中用过的plsql编程方面的知识进行总结,和大家分享!
原创作品,转自请注明出处:https://www.cnblogs.com/sunshine5683/p/10296531.html
一、plsql块
1、只包括执行部分的plsql块
打开输出选项:set serveroutput on;
begin
dbms_output.put_line('');
end;

如上,只有打开了serveroutput才可以看到输出信息。
2、包含定义部分和执行部分的plsql块
declare
v_name varchar2(5);--定义字符串变量
begin
select ename into v_name from emp where empno=&no;
dbms_output.put_line(‘雇员们’||v_name);
end

输入编号,OK

3、包含定义部分、执行部分、例外处理部分的plsql块(即完整的plsql块)
在通常的plsql块中,难免会遇到执行中的错误,然后再编写的过程中应该尽量对可能出现的异常进行处理,所以这种情况下异常处理就显得格外重要。
declare
v_name varchar2(5);--定义字符串变量
begin
select ename into v_name from emp where empno=&no;
dbms_output.put_line(‘雇员们’||v_name);
exception
when no_data_found then
dbms_output.put_line('输入有误');
end
下面实例就是当输入的编号不存在时,不会保存,输出提示“输入有误”!

4、创建存储过程
create procedure sp_test1(spName varchar2, newsal number)is
begin
update scott.emp set sal=newsal where ename=spName;
end;

调用该存储过程

由上图可以看到调用存储过程前后的变化
二、使用java调用存储过程
//使用java调用oracle中的存储过程
//注意要引入oracle的jar包classes12.jar
package xhq.test;
import java.sql.*;
public class TestOracleProcedure{
public static void main(String [] args){
try{
//1、加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//2、得到连接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","user","password");
//创建CallableStatement
CallableStatement cs = conn.prepareCall("{call sp_test1(?,?)}");
//给?赋值
cs.setString(1,"SMITH");
cs.setInt(2,10);
//执行
cs.execute();
//关闭
cs.close();
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
今天总结到此结束,下次接着继续总结!

Oracle总结之plsql编程(基础七)的更多相关文章
- Oracle基础 PL-SQL编程基础(4) 异常处理
异常处理: 即使良好的PL-SQL程序也会遇到错误或者未预料的事件,一个优秀的程序都应该能够处理各种出错情况,尽可能的从错误中恢复.程序在运行时出现的错误成为异常.发生异常后,语句讲终止执行,PLSQ ...
- Oracle基础 PL-SQL编程基础(1) 变量和常量
一.什么是PL-SQL PL-SQL是结合了Oracle过程语言和结构化查询语言(SQL)的一种扩展语言.具体来说,PL-SQL就是在普通的SQL语句的基础上增加了编程语言的特点,将数据操作和查询语句 ...
- Oracle总结之plsql编程(基础九)
原创作品,转自请注明出处:https://www.cnblogs.com/sunshine5683/p/10344302.html 接着上次总结,继续今天的总结,今天主要总结plsql中控制语句,如条 ...
- Oracle总结之plsql编程(基础八)
原创作品,转自请注明出处:https://www.cnblogs.com/sunshine5683/p/10328524.html 一.函数 1.函数是可以返回一个特定的数据,函数的创建中必须包含re ...
- Oracle基础 PL-SQL编程基础(2) 分支结构
一.分支结构 1.if语句 语法: IF <布尔表达式> THEN PL/SQL和SQL语句 END IF; 示例: DECLARE v_count NUMBER := &n; B ...
- Oracle基础 PL-SQL编程基础(3) 循环结构
循环结构: 1. LOOP循环结构 语法: LOOP 要执行的语句; EXIT WHEN <条件> --条件满足则退出循环 END LOOP; 示例:循环输出1-10的整数 DECLA ...
- PLSQL编程基础
一 PL/SQL简介 1 SQL:结构化的查询语句 2 PL/SQL优点与特性: 提高运行效率==>>提高运行效率的其他方式(存储过程,分页,缓存,索引) 模块化设计 允许定义标识符(变量 ...
- oracle学习1 基于oracle数据库的PLSQL编程以及存储过程的创建和使用视频
https://www.bilibili.com/video/av46777605 plsql中选择testWindow中可以进行测试 1.编写函数在plsql的testwindow中 begin d ...
- shell编程基础(七): 处理文件命令sed与awk
一.sed(以行为单位处理文件) sed意为流编辑器(Stream Editor),在Shell脚本和Makefile中作为过滤器使用非常普遍,也就是把前一个程序的输出引入sed的输入,经过一系列编辑 ...
随机推荐
- WPF实现窗体中的悬浮按钮
WPF实现窗体中的悬浮按钮,按钮可拖动,吸附停靠在窗体边缘. 控件XAML代码: <Button x:Class="SunCreate.Common.Controls.FloatBut ...
- 201621123018《java程序设计》第12周作业总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 面向系统综合设计-图书馆管理系统或购物车 使用流与文件改造你的图书馆管理系统或购物车. 2.1 简述如何 ...
- Ms17-010进行WEB提权之实践下某培训靶机服务器
前言:该机器为某个其他培训机构的靶机,说实话在这里没炫耀啥,只是给各位学习Ms17010的同学指一条路,我原先也折腾这玩意儿好久,但是就是不行,最近才找到了出路,所以多写两篇文章,把各种需要注意的地方 ...
- W,b的初始化和几种激活函数
权重W不能全部初始化为0,原因很简单,我们可以自己在本子上推导一下,假设现有一个含有一个隐藏层,隐藏层含有两个神经元初始输入为两个向量的网络,如果权重初始化全部为0,那么,第一层的输出,会和第二层的输 ...
- HDFS概要
--HDFS-- Hadoop Distributed File System HDFS一个分布式,高容错,可线性扩展的文件系统 简介: Hadoop分布式文件系统(HDFS)是一种分布式文件系统,设 ...
- 执行shell脚本的四种方式(转)
原文网址:https://www.jb51.net/article/53924.htm 这篇文章主要介绍了Linux中执行shell脚本的4种方法,即总结在Linux中运行shell脚本的4种方法. ...
- JavaScript -- URL编码
----- 010-escape.html ----- <!DOCTYPE html> <html> <head> <meta http-equiv=&quo ...
- java学习-http中get请求的非ascii参数如何编码解码探讨
# 背景: 看着别人项目代码看到一个PathUtils工具类, 里面只有一个方法,String rebuild(String Path),将路径进行URLDecoder.decode解码,避免路径中 ...
- 文件句柄FileDescriptor的hanle/fd两个字段分析
对于FileInputStream/FileOutputStream/RandomAccessFile,使用handle来表示底层的文件句柄 对于ServerSocket/Socket,使用fd来表示 ...
- windows下通过VNC图形化访问Ubuntu桌面环境
要在windows下图形化访问Ubuntu或其它Linux系统桌面环境有很多方法,我比较喜欢的是使用VNC服务,需要在Ubuntu下安装vncserver和在windows下安装客户端访问工具. 1. ...