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
相关文档:
<?php
require_once '../../smartyConfig/smartyConfig.class.php';
require_once '../../game/include/function.php';
require_once '../../game/include/config.php';
require_once '../../game/server/server.class.php';
require_once '../../game/include/db.class.php'; ......
[可用]如果出现安装sql server 2000要求CD-KEY的情况,请使用regedt32找开注册表,在以下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]中建立一个DWORD键
SafeDLLSearchMode并设值为0
这个试过,是可以用的
H6TWQ-TQQM8-HXJYG-D69F7-R84VM - ......
今天遇到个有意思的问题,是一个分组排序的问题,不过要求分组和分组间也要排序,如果这个组内有一条数据是最近更新的,那么这整个组都应该排在前面。
下面以Oracle的HR示例Schema中的employees表为例:
语句按部门分组,分组之间的排序是这样的:如果整个分组中有一个员工的hire_date是最新的,那么这个分组就应 ......
由于数据库对xml数据直接处理有很多优势,05也对这方面加强了功能。
但这方面资料少,所以自己做了一些总结,希望会给大家带来帮助
--charry0110(晓风残月)
--作者:陈 ......