oracle学习笔记(一)

一,变量
PL/SQL块的组成分为三个部分
--定义(declare)
--可执行部分(begin.......end)
--异常部分(exception)
具体的结构如下:
Java代码
Declare
变量,常量,游标,异常
Begin
Sql语句,pl/sql语句
Exception
End;

Declare
变量,常量,游标,异常
Begin
Sql语句,pl/sql语句
Exception
End;

例如:
Java代码
DECLARE
v_variable VARCHAR2(5);
BEGIN
SELECT column_name
INTO v_variable
FROM table_name;
EXCEPTION
WHEN exception_name THEN
...
END;
/

DECLARE
v_variable VARCHAR2(5);
BEGIN
SELECT column_name
INTO v_variable
FROM table_name;
EXCEPTION
WHEN exception_name THEN
...
END;
/

其中v_variable 是一个变量,在执行部分,将查询的结果放入该变量中保存。如果发生了异常测执行异常部分。

(一)变量的定义
1.变量的定义格式:
Declare(可选)
变量名 变量类型;
如:
Declare
V_name varchar2(25) := not null“admin”;
意义:定义一个变量v_name,规定值不能为空,初始值是“admin”
几种常见的数据类型:
Varchar2,number,date,char,long,boolean等
%type属性:
用于类型匹配:两种情况使用。
(1) 以前定义变量A的类型,要定义变量B的类型与A相同时,则可以:
B A%type
(2) 定义变量类型和表中列的类型相同时:
A 表名.列名%type
2.记录类型:
(1) 格式: type 记录变量名 is record(
变量名 变量类型,
……
变量名 变量类型)
(2) 记录类型与表的结构一致时:
记录变量名 表名%rowtype
例如:定义一个person类型的记录变量(姓名,性别,年龄),表person。则:
(1)
Java代码
Declare
Type t_person is record(
Name varchar2(20),
Sex varchar2(2),
Age number(4),


Declare
Type t_person is record(
Name varchar2(20),
Sex varchar2(2),
Age number(4),


(2) t_person person%rowtype;
3 绑定变量 指的是全局变量
声明一个绑定变量:variable name varchar2(20);
引用绑定变量: :name := “admin”;
4 变量的命名规范:
标识符 举例:
Java代码
Variable v_name
Constant C_name
Cursor name_curse
Exception e_name
Record name_record
SQL*Plus substitution parameter p_name
SQL*Plus global variable g_name

Variable v_name
Constant C_name
Cursor name_curse
Exception e_name
Record name_record
SQL*Plus substitution parameter p_name
SQL*Plus global variable g_name


二 可执行部分
例如:
(1)
Java代码
set serveroutput on;
declare
v_name varchar(2) not null :=’’;
begin
select username into v_name from userinfo where usernumber=95001;
dbms_output_print_line(v_name);
end;
/;

set serveroutput on;
declare
v_name varchar(2) not null :=’’;
begin
select username into v_name from userinfo where usernumber=95001;
dbms_output_print_line(v_name);
end;
/;

注释:将学号是95001的学生的姓名通过PL/SQL打印出来。
V_name是一个变量,用来存放95001的姓名。
dbms_output_print_line(v_name);是库中提供的一个打印函数,在使用之前必须把包包括进来。
(2) 对于记录类型的变量信息的打印
(3) /*如下是一个关于记录类型数据的操作的例子*/
Java代码
Set serveroutput on;
Declare
Record_person person%rowtype;
Begin
Select * into record_person from person where usernumber=95001;
--以下是打印语句
Dbms_output_print_line(record_person.name);
Dbms_output_print_line(record_person.sex);
Dbms_output_print_line(record_person.age);
End;
/

Set serveroutput on;
Declare
Record_person person%rowtype;
Begin
Select * into record_person from person where usernumber=95001;
--以下是打印语句
Dbms_output_print_line(record_person.name);
Dbms_output_print_line(record_person.sex);
Dbms_output_print_line(record_person.age);
End;
/

注释:(1)/*…..*/ 是多行注释语句。
(2)—是单行注释语句
(3)Record_person person%rowtype;是记录类型变量的定义
(4)record_person.age 是记录变量数据的引用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值