pl/sql变量语法
定义标量变量语法
在PL/SQL语块中定义变量和常量的语法如下
indentifier [CONSTANT] datatype [NOT NULL] [:=|DEFAULT expr]
indentifier 用于指定变量或常量的名称
CONSTANT:用于指定常量。当定义常量时,必须指定它的初始值,并且其数值不能改变
datatype:用于指定变量或常量的数据类型。
NOT NULL: 用于强制初始化变量(不能为null)。当指定NOT NULL选项时,必须要为变量提供数值。
:=用于为变量和常量指定初始值
DEFAULT:用于为变量和常量指定初始值
erpr:用于指定初始值的PL/SQL表达式,可是是文本值,其他变量,函数等。
示例
v_ename varchar2(10);
v_sal number(6,2);
v_balance binary_float;
c_tax_rate constant number(3,2):=5.5;
v_hiredate date;
v_valid boolean not null default false;
使用标量变量
DECLARE
v_ename VARCHAR2(5);
v_sal NUMBER(6,2);
c_tax_rate CONSTANT NUMBER(3,2):0.03;
v_tax_sal NUMBER(6,2);
BEGIN
SELECT ename,sal,INTO v_ename, v_sal
from emp WHERE empno=&eno;
v_tax_sal:=v_sal*c_tax_tate;
dbms_output.put_line('雇员名:'||v_ename);
dbms_output.put_line('雇员工资:'||v_sal);
dbms_output.put_line('所得税:'||v_tax_sal);
END;
为了提高程序的可用性,降低PL/SQL程序的维护工作量可以使用%TYPE属性定义变量。
使用%TYPE属性
DECLARE
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
c_tax_rate CONSTANT NUMBER(3,2):=0.03;
V_tax_sal v_sal%TYPE;
BEGIN
SELECT ename,sal INTO v_ename, v_sal
from emp WHERE empno=&eno;
v_tax_sal:=v_sal*c_tax_rate;
dbms_output.put_Line('所得税:'||v_tax_sal);
END;
复合类型变量定义使用方法
当使用PL/SQL记录时,首先需要再定义部门定义记录类型和记录变量,然后在执行部门引用该记录变量,需要注意,当引用记录成员时,必须要加记录变量作为前缀(记录变量.记录成员)示例
DECLARE
TYPE emp_record_type IS RECORD(
name emp.ename%TYPE
相关文档:
作者 Haidong Ji 翻译 GoodKid
在我的关于Oracle和SQL Server 互用性的系列文章 part 1 和 part 2 当中,我讨论了Oracle和SQL Server 的一些不同点的话题以及Oracle驱动的可选性。在本主题中,我将讨论一个来自Oracle 10g的新工具,Oracle即时客户端。
对于Oracle 10g以前的版本,如果想建立和Oracle的连接, ......
近日,俺通过MS SQL Server 2008的链接服务器查询MySQL的数据。其实,俺在多年前就使用过这个,当时是分布式查询Excel表数据,现在,换成异构数据库MySQL。俺以64位系统说明:
首先,Windows程序访问MySQL数据库需要驱动程序,可以到官方网站下载,俺就是使用Mysql ODBC 5.1 Driver for 64bit,通过数 ......
SQL Server 2000的安全配置在进行SQL Server 2000数据库的安全配置之前,首先必须对操作系统进行安全配置,保证操作系统处于安全状态。然后对要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的Web应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似&ld ......
本文是一个技巧文章,介绍SQL根据已知的年月,计算该月的天数.
本文是一个技巧文章,介绍SQL根据已知的年月,计算该月的天数.
declare @iDays int
declare @dt varchar(50)
set @dt=@Year+'-'+@Month+'-01'
select @iDays=day(dateadd( ......
孤立帐户,就是某个数据库的帐户只有用户名而没有登录名,这样的用户在用户库的sysusers系统表中存在,而在master数据库的syslogins中却没有对应的记录。
孤立帐户的产生一般是以下两种:
1.将备份的数据库在其它机器上还原;
2.重装系统或SQL SERVER之后只还原了用户库
解决方法是使用sp_change_users_login来修复。
......