ORACLE 变量的定义和使用

在程序中定义变量、常量和参数时,则必须要为它们指定PL/SQL数据类型。在编写PL/SQL程序时,可以使用标量(Scalar)类型、复合(Composite)类型、参照(Reference)类型和LOB(Large Object)类型等四种类型。

在PL/SQL中用的最多的就是标量变量,当定义标量变量时,必须要指定标题数据类型,标题数据类型一般包括:数字类型,字符类型,日期类型,布尔类型,每种类型又包含相应的子类,例如NUMBER类型包含INTEGER,POSITIVE等子类型。

一、常用标量类型

1.VARCHAR2(N)

2.CHAR(N)

3.NUMBER(P,S)

4.DATE

5.TIMESTAMP   该数据类型是9i时增加的,它也用于定义日期和时间数据。给它赋值的方法与给DATE变量赋值的方法完全相同。但当显示时它不仅会显示日期,还会显示时间和上下午标记。

6.LONG和LONG RAW

7.BOOLEAN

8.BINARY_INTEGER

9.BINARY_FLOAT    和 BINARY DOUBLE 这两个类型是ORACLE10新增加的 用的时候不是很多

二、使用标量变量

在PL/SQL中为变量赋值不同于其他编程语言,必须要在等号之前加上冒号( := )。

eg:

DECLARE
  x NUMBER ;
  y   NUMBER ;
  --7:输出几位数,3为四舍五入三位数(正:小数点右边三位数,负:小数点左边三位数)
  z number(7,3);
  codeid number; 
 BEGIN
   x:=200.0088;
   y:=x+10;
   z:=1000.0088;
   dbms_output.put_line(x);
   dbms_output.put_line('y='||y);
   dbms_output.put_line('z='||z);
   --给变量codeid赋值
   SELECT SUM(user_id) INTO codeid FROM hr_employee hr;
   dbms_output.put_line('codeid='||codeid);
   codeid:=codeid*100;
   dbms_output.put_line('codeid='||codeid);
end;

打印结果,如下:

x=200.0088
y=210.0088
z=1000.009
codeid=1045
codeid=104500



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
游标(Cursor)是一种数据库对象,可以用于对查询结果集进行遍历和操作。使用游标可以在程序中逐行处理查询结果,这在需要逐行处理大量数据时非常有用。 在 Oracle 中,游标可以通过以下步骤定义使用: 1. 定义游标 定义游标需要使用 `DECLARE CURSOR` 语句,语法如下: ``` DECLARE cursor_name [IN | OUT | IN OUT] return_datatype; BEGIN ... END; ``` 其中,`cursor_name` 是游标的名称,`return_datatype` 是游标返回的结果集类型。 2. 打开游标 使用 `OPEN` 语句打开游标,语法如下: ``` OPEN cursor_name; ``` 3. 获取游标数据 使用 `FETCH` 语句获取游标中的数据,语法如下: ``` FETCH cursor_name INTO variable_name1 [, variable_name2 ...]; ``` 其中,`variable_name1`、`variable_name2` 等是变量名,用于存储游标中的数据。 4. 关闭游标 使用 `CLOSE` 语句关闭游标,语法如下: ``` CLOSE cursor_name; ``` 下面是一个示例,演示如何定义、打开、获取和关闭游标: ``` DECLARE CURSOR c_emp IS SELECT employee_id, first_name, last_name FROM employees; v_emp_id NUMBER; v_emp_first_name VARCHAR2(50); v_emp_last_name VARCHAR2(50); BEGIN OPEN c_emp; LOOP FETCH c_emp INTO v_emp_id, v_emp_first_name, v_emp_last_name; EXIT WHEN c_emp%NOTFOUND; DBMS_OUTPUT.PUT_LINE(v_emp_id || ' ' || v_emp_first_name || ' ' || v_emp_last_name); END LOOP; CLOSE c_emp; END; ``` 该示例定义了一个名为 `c_emp` 的游标,返回的结果集包含 `employee_id`、`first_name` 和 `last_name` 字段。然后打开游标、获取游标数据并输出,最后关闭游标。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值