PL/SQL编程基础
DECLARE
/*
* 定义部分——定义常量、变量、复杂数据类型、游标、用户自定义异常
*/
BEGIN
/*
* 执行部分——PL/SQL语句和SQL语句
*/
EXCEPTION
/*
* 异常处理部分——处理运行错误
*/
END;
/*块结束标记 */
2. 使用变量和常量
identifier [CONSTANT] datatype [NOT NULL]
[:= | DEFAULT expr];
DECLARE
v_name varchar2(10);
BEGIN
select dname into v_name
from dept
where deptno = 90;
dbms_output.put_line('dname:'|| v_name);
EXCEPTION WHEN NO_DATA_FOUND THEN
dbms_output.put_line('没有该部门');
END;
3. PL/SQL块的类型
create or replace procedure update_sal
(p_ename VARCHAR2, p_newsal NUMBER)
AS
BEGIN
UPDATE emp SET sal = P_newsal
WHERE lower(ename) = lower(P_ename);
commit;
END;
调用:
exec update_sal(‘scott’, 2000); --SQL*PLUS中的命令
call update_sal(‘SCOTT’, 2000); --JAVA中调用的语句
create or replace function f_add(a number )
return number
as
begin
return a*2;
end;
调用:
select f_add(2) from dual;
select f_add(deptno) from dept;
create or replace package my_bao is
function f_add(a number ) return number;
end;
/
create or replace package body my_bao is
function f_add(a number ) return number
as
begin
return a*2;
end;
end;
/
调用:select my_bao.f_add(2) from dual;
declare
v_name dept.dname%type;
begin
select dept.dname into v_name
from dept
where deptno = 10;
dbms_output.put_line('dept = '||v_name);
end;
运行结果:
dept = ACCOUNTING
5. 复合变量
DECLARE
TYPE emp_record_type IS RECORD (
name emp.ename%TYPE,
salary emp.sal%TYPE);
emp emp_record_type;
BEGIN
SELECT ename,sal,job into emp
FROM emp WHERE empno=7788;
dbms_output.put_line('雇员名:' || emp .name);
END;
7. LOB变量
8. 使用SQL*Plus绑定变量
SQL> var name varchar2(10);
SQL> BEGIN
2 SELECT ename INTO :name FROM emp
3 WHERE empno = 7788;
4 end;
5 /
SQL> print name;
name
---------
SCOTT
9. PL/SQL词汇单元
当编写PL/SQL块时,每个PL/SQL块都包含多行代码,而每行代码又是由多个合法单元组成的,这些合法单元被称为词汇单元。
DECLARE
--定义v_sal变量
v_sal NUMBER(6,2);
BEGIN
/*
给变量赋值,
然后打印此变量
*/
v_sal := 1000;
dbms_output.put_line(v_sal);
END;
10.PL/SQL代码编写规则
PL/SQL编程基础的更多相关文章
- Oracle数据库编程:PL/SQL编程基础
2.PL/SQL编程基础: PL/SQL块: declare 定义部分 begin 执行部分 exception 异 ...
- 【PL/SQL编程基础】
[PL/SQL编程基础]语法: declare 声明部分,例如定义变量.常量.游标 begin 程序编写,SQL语句 exception 处理异常 end: / 正斜杠表示执行程序快范例 -- Cre ...
- PL/SQL编程基础(三):数据类型划分
数据类型划分 在Oracle之中所提供的数据类型,一共分为四类: 标量类型(SCALAR,或称基本数据类型) 用于保存单个值,例如:字符串.数字.日期.布尔: 标量类型只是作为单一类型的数据存在,有的 ...
- Oracle Pl/SQL编程基础
Pl/SQL简介 提高应用程序的运行性能, 提供模块化的程序设计, 自定义标示符, 具有过程语言控制结构, 良好的兼容性, 处理运行错误. Pl/SQL语言基础 sql是关系数据库的基本操作语言. s ...
- PL/SQL编程基础(五):异常处理(EXCEPTION)
异常处理 异常产生所带来的问题: 使用EXCEPTION程序块进行异常处理: 实现用户自定义异常. 使用异常可以保证在程序中出现运行时异常时程序可以正常的执行完毕: 用户可以使用自定义异常进行操作. ...
- PL/SQL编程基础(一):PL/SQL语法简介(匿名PL/SQL块)
PL/SQL PL/SQL是Oracle在关系数据库结构化查询语言SQL基础上扩展得到的一种过程化查询语言. SQL与编程语言之间的不同在于,SQL没有变量,SQL没有流程控制(分支,循环).而PL/ ...
- PL/SQL编程基础——PL/SQL简介
课程教师:李兴华 课程学习者:阳光罗诺 日期:2018-07-28 知识点: 1. 了解PL/SQL的主要特点 2. 掌握PL/SQL块的基本结构 PL/SQL PL/SQL是Oracle在关系数据库 ...
- Oracle PL/SQL 编程基础 实例
create table mytest(name varchar(20),password varchar(30)); create or replace procedure sp_pro2 is ...
- PL/SQL编程基础(四):程序控制(IF,CASE,FOR,LOOP,WHILE LOOP,EXIT,CONTINUE)
程序控制 程序结构有分支结构与循环结构: 分支结构语法:IF.CASE: 循环结构:FOR.WHILE LOOP:先执行再判断,至少执行一次: WHILE LOOP:先判断再执行,如果不满足条件,就不 ...
- PL/SQL编程基础(二):变量的声明、赋值、(赋值、连接、关系、逻辑)运算符
变量的声明.赋值.运算符 1.声明并使用变量 变量可以在声明时赋值,也可以先定义后赋值: 使用%TYPE与%ROWTYPE可以根据已有类型定义变量. PL/SQL是一种强类型的编程语言,所有的变量都必 ...
随机推荐
- 【原】thinkphp修改Redis操作类,支持选择数据库功能及添加其他方法
版本3.2.2(ThinkPHP\Library\Think\Cache\Driver\Redis.class.php), 一:官方默认不支持选择数据库功能及,现就可选择数据库功能进行说明. 1 co ...
- js 的静态获取和动态获取
静态获取方法 document.getElementById obj.querySelector obj.querySelectorAll 动态获取方法(每次使用时候会回去重新获取一次) obj.ge ...
- mac os 10.10解决pod问题
转一下 http://leancodingnow.com/how-to-get-cocoapods-work-on-yosemite/
- javaScript--进阶1--数据类型、操作符
一.JS基础知识背景 1.1 弱类型脚本语言 脚本语言是:弥补编译语言的不足而存在的,作为补充语言,不用编译,解析一行执行一行. 弱类型语言:简单理解定义一个变量,可以有多种数据类型.(var tem ...
- Re0:DP学习之路 母牛的故事 HDU - 2018
解法 一定要注意斐波那契数列的原始意义,斐波那契数列也叫作兔子数列是兔子繁衍的一种表示方法.同样适用于别的情况的动物繁衍问题 原始的是3个月一胎现在四个月那么方程就是 f(n)=n n<=4 f ...
- localStorage前端存储数据
<!DOCTYPE html> <html> <head> <title>localStorage演示</title> <meta c ...
- Linux学习笔记记录(七八)
- HTML5中Canvas概述
一.HTML5 Canvas历史 Canvas的概念最初是由苹果公司提出的,用于在Mac OS X WebKit中创建控制板部件(dashboard widget).在Canvas出现之前,开发人员若 ...
- Apache Maven Cookbook(八)学习笔记-Handling Typical Build Requirements
Including and excluding additional resources Using the Maven Help Plugin: mvn help:effective-pom mvn ...
- 这可能是vue-cli最全的解析了……
题言: 相信很多vue新手,都像我一样,只是知道可以用vue-cli直接生成一个vue项目的架构,并不明白,他究竟是怎么运行的,现在我们一起来研究一下... 一.安装vue-cli,相信你既然会用到v ...