您的位置:首页 > 数据库 > Oracle

Oracled数据库的进一步理解

2015-12-14 17:44 489 查看



博客分类:

-- PL/SQL编程

-- SQL: Structed Query Language

-- PL: Procedure Language

--是对sql语言的补充

--为什么需要PL/SQL编程[在数据库服务端编程]

--减小网络开销

--提高性能

--提高了安全性

-- PL/SQL块 是基本单元

--允许输出

set serveroutput on;


伦理片 http://www.dotdy.com/

--案例1
declare

str varchar2(20) := 'Hello World';

begin

--输出语句

dbms_output.put_line(str);

end;

--修改7499的工资

begin

update empbak set sal=2000 where empno=7499;

end;

--------------------------------------------------------

/*

数据类型

标量类型

数字型 Binary_Integer Number PLS_Integer

字符型 Char varchar2 long raw long Raw

时间日期型: Date Timestamp

布尔型: Boolean

LOB类型

BFile

BLOB

CLOB

NCLOB

属性类型

%type

%rowtype

复合类型

自定义类型,类似于C语言中的结构体

----------------------------------------------------

操作符

:= 赋值操作符 相当于Java中的 =

|| 连接操作符 相当于Java中的 +

-- 单行注释

<<>> 标签分隔符

.. 范围操作符

** 求幂操作符

比较运算符

= 等于 相当于Java中的 ==

<> != 不等于

>

<

>=

<=

逻辑运算符

and 并且 相当于Java中的 &&

or 或者 相当于Java中的 ||

not 非 相当于Java中的 !

*/

--查询执行编号的员工的姓名

declare

v_ename varchar2(5);--声明一个变量用来接收查询的结果

begin

dbms_output.put_line('名字是:'||v_ename);

--处理异常

exception

when no_data_found then

dbms_output.put_line('没有这个编号的员工!');

end;

-----------------------------------------------

--属性类型

-- %type 参照字段类型

--根据编号查询员工的姓名和工资

declare

--变量的类型参照empbak表中ename字段的类型

v_ename empbak.ename%type;

v_sal empbak.sal%type;

begin

dbms_output.put_line('名字是:'||v_ename||' ,工资:'||v_sal);

--处理异常

exception

when no_data_found then

dbms_output.put_line('没有这个编号的员工!');

end;

影音先锋电影 http://www.iskdy.com/
---------------------------------------------------------------------

--复合类型

declare

--定义一个复合类型

type myrecord is record(

v_ename empbak.ename%type,

v_sal empbak.sal%type

);

--定义一个复合类型的变量

aa myrecord;

begin

------------------------------------------------------------------------

--根据员工编号查询员工的所有信息

--使用 %rowtype表示整行数据

declare

--%rowtype 表示变量是一个包含了empbak表所有字段的复合类型

aa empbak%rowtype;

begin

dbms_output.put_line('姓名:'||aa.ename||' 工资:'||aa.sal);

end;

---------------流程控制------------------------------------------

--分支

-- if

--根据编号查询员工工资,如果发现工资低于1500,就给涨工资200

-- 否则减少200

declare

v_sal empbak.sal%type;

v_no empbak.empno%type;

begin
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: