oracle中pl/sql编程(二)
来源:互联网 发布:网王之驯养玫瑰的知世 编辑:程序博客网 时间:2024/04/28 09:50
oracle中pl/sql编程(二):
set serveroutput on -打开输出选项(这样才可以输出)
set serveroutput off-关闭输出选项
1.包含定义部分和执行部分的pl/sql块
declare
--定义部分
v_ename varchar2(5);--定义字符串变量
begin
--执行部分
select ename into v_ename from emp where empno=&aa;
dbms_output.put_line('用户名:'||v_ename);
end;
/
a).说明:dbms_output是oracle所提供的包(类似于java的开发包),
该包包含一些过程,put_Line就是dbms_ouytput包的一个过程
b).注意&代表要接受从控制台输入的变量
c).into v_ename这里的意思是:把查询出来的ename赋值给v_ename
d)||类似于java中的'+'符号,表示连接
2.在1的基础上加上了sal的变量
declare
--定义部分
v_ename varchar2(5);
v_sal number(7,2);
begin
--执行部分
select ename,sal into v_ename,v_sal from emp where empno=&aa;
dbms_output.put_line('用户名:'||v_ename|| ' 薪水:'||v_sal);
end;
3.包含定义部分,执行部分和例外处理部分
declare
--定义部分
v_ename varchar2(5);
v_sal number(7,2);
begin
--执行部分
select ename,sal into v_ename,v_sal from emp where empno=&aa;
dbms_output.put_line('用户名:'||v_ename|| ' 薪水:'||v_sal);
--异常处理
exception
when no_data_found then
dbms_output.put_line('输入编号错误,请重新输入!');
end;
--案例(编写一个过程,可以输入雇员名,新工资 可修改雇员的工资
,并且在java程序中调用一个存储过程)
create or replace procedure sp_pro3(spName varchar2,newSal number) is
begin
--执行部分
update emp set sal=newSal where ename=spName;
end;
package javastudy;
import java.sql.*;
public class Testit {
public static void main(String[] args) {
try {
// 加载驱动程序
Class.forName("oracle.jdbc.driver.OracleDriver");
// 获得链接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "lh621366");
// 创建CallableStatement
CallableStatement cs = conn.prepareCall("{call sp_pro3(?,?)}");
// 给?(参数)赋值
cs.setString(1, "SMITH");
cs.setInt(2, 20);
// 执行(更新)
cs.execute();
// 关闭资源
cs.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
阅读全文
0 0
- oracle中pl/sql编程(二)
- ORACLE PL/SQL编程详解之二
- Oracle:PL*SQL编程(二)---游标
- oracle 中pl/sql详解(二)
- oracle中pl/sql编程-笔记
- oracle中pl/sql编程案例
- oracle中pl/sql编程(一):
- oracle中pl/sql编程(三)
- oracle中pl/sql编程(四):
- oracle中pl/sql编程(五)
- oracle中pl/sql编程(六)
- PL/SQL 编程(二)
- Oracle PL/SQL编程
- oracle pl/sql 编程
- oracle pl/sql 编程
- ORACLE PL/SQL编程
- Oracle PL/SQL编程
- oracle-pl/sql编程
- Android点击事件
- (转)东方美人吉他谱及演奏(中川砂仁)
- 设计算法以判断集合A是否是集合B的子集
- 在Linux系统设置共享文件夹、Hadoop单机/伪分布部署,运行Hadoop Wordcount单词统计实例
- 第五周LeetCode算法题两道
- oracle中pl/sql编程(二)
- Android Sqlite遇到的坑
- [USACO13OPEN]燃油经济性Fuel Economy
- 前端之路——第四篇:css(position及float的使用,组合选择器、css3特效标签)
- TensorFlow wasn't compiled to use SSE (etc.) instructions, but these are available
- Android Kotlin遇到的问题
- set 容器使用
- [初学Maven详解@]
- leetcode 389. Find the Difference