文档库 最新最全的文档下载
当前位置:文档库 › Oracle学习笔记

Oracle学习笔记

Oracle学习笔记
Oracle学习笔记

主题:Oracle学习笔记(8) 使用PLSQL编写触发器

DML 触发器:

对表执行Insert、Update、Delete操作时激发

可以用于执行校验、设置初使值、审核改变、甚至禁止某种DML操作

语法:

CREATE OR REPLACE TRIGGER 触发器名称

{AFTER|BEFORE } -- 指定触发时机

{INSERT OR DELETE OR UPDATE} -- 指定触发器事件

ON 表名 --指定所监控的表

{FOR EACH ROW|FOR EACH STATEMENT} -- 指定触发器次数

BEGIN

--代码;

END;

相关概念:

AFTER|BEFORE:在什么事件之前或之后执行

INSERT|DELETE|UPDATE:什么事件

ON 表名:触发器建在什么表上,即监控什么表

FOR EACH ROW:行级触发,示例:delete from t1,删除1000行,则执行1000次(一行一次) FOR EACH STATEMENT:语句级触发,示例: delete from t1,删除1000行,则执行1次(一句一次)

:new 行变量:保存事件发生时新数据所在行,只有insert事件和update事件才有新数据

:old 行变量:保存事件发生时旧数据所在行,只有delete事件和update事件才有旧数据

示例:指出事件,及事件中的新数据和旧数据

insert into emp(empno,ename) values(51,'job');

分析:只有一行新数据(51,job),对应:new变量。

update emp set ename='oracle' where empno = 51;

分析:旧数据 (51,job) ,对应:old变量。

新数据(51,oracle),对应:new变量。

delete from emp where empno = 51;

分析:只有一行旧数据(51,oracle),对应:old变量。

Sql代码

1.-- 显示触发器

2.select trigger_name,status from user_triggers;

3.-- 禁止触发器

4.alter trigger tr_emp_salary disable;

5.-- 激活触发器

6.alter trigger tr_emp_salary enable;

7.-- 禁止表的所有触发器

8.alter table employee disable all triggers;

9.-- 激活表的所有触发器

10.alter table employee enable all triggers;

11.-- 重新编译触发器

12.--alter table tr_emp_salary compile;

13.-- 删除触发器

14.drop trigger tr_emp_salary;

-- 显示触发器

select trigger_name,status from user_triggers;

-- 禁止触发器

alter trigger tr_emp_salary disable;

-- 激活触发器

alter trigger tr_emp_salary enable;

-- 禁止表的所有触发器

alter table employee disable all triggers;

-- 激活表的所有触发器

alter table employee enable all triggers;

-- 重新编译触发器

--alter table tr_emp_salary compile;

-- 删除触发器

drop trigger tr_emp_salary;

Sql代码

1.-- 语句级触发器

2.-- 禁止员工在休息日改变雇员信息

3.create or replace trigger tr_sec_emp

4. -- before:在DML事件之前执行

5. before insert or update or delete

6. on employee

7. -- 如果在这里没有指定是行级还是语句级触发器,默认就是 FOR EACH STATEMENT

8.begin

9. if to_char(sysdate,'DAY','nls_date_language=AMERICAN')

10. in('SAT','SUN') then

11. case

12. -- 当触发事件是Insert操作时,该条件谓词返回值为True,否则为False

13. when inserting then

14. raise_application_error(-20001,'不能在休息日增加雇员信息!');

15. -- 当触发事件是Update操作时,该条件谓词返回值为True,否则为False

16. when updating then

17. raise_application_error(-20002,'不能在休息日修改雇员信息!');

18. -- 当触发事件是Delete操作时,该条件谓词返回值为True,否则为False

19. when deleting then

20. raise_application_error(-20003,'不能在休息日删除雇员信息!');

22. end if;

23.end;

24./

-- 语句级触发器

-- 禁止员工在休息日改变雇员信息

create or replace trigger tr_sec_emp

-- before:在DML事件之前执行

before insert or update or delete

on employee

-- 如果在这里没有指定是行级还是语句级触发器,默认就是 FOR EACH STATEMENT

begin

if to_char(sysdate,'DAY','nls_date_language=AMERICAN')

in('SAT','SUN') then

case

-- 当触发事件是Insert操作时,该条件谓词返回值为True,否则为False

when inserting then

raise_application_error(-20001,'不能在休息日增加雇员信息!');

-- 当触发事件是Update操作时,该条件谓词返回值为True,否则为False

when updating then

raise_application_error(-20002,'不能在休息日修改雇员信息!');

-- 当触发事件是Delete操作时,该条件谓词返回值为True,否则为False

when deleting then

raise_application_error(-20003,'不能在休息日删除雇员信息!');

end case;

end if;

end;

/

Sql代码

1.-- 限制员工的工资不能超过当前的最高工资

2.create or replace trigger tr_emp_salary before

3. -- update of 后面指定在那些列被改变时才调用这个触器,如果不加of 默认是所有列

4. update of salary on employee

5. -- 指定该触发器为行级触发器

6. for each row

7.-- 如果要定义变量,则只能在Declare中定义

8.declare

9. maxSalary number(10,2);

10.begin

11. select max(salary) into maxSalary from employee;

12. if :new.salary > maxSalary then

13. raise_application_error(-20010,'员工工资超出工资上限!');

15.end;

16./

-- 限制员工的工资不能超过当前的最高工资

create or replace trigger tr_emp_salary before

-- update of 后面指定在那些列被改变时才调用这个触器,如果不加of 默认是所有列update of salary on employee

-- 指定该触发器为行级触发器

for each row

-- 如果要定义变量,则只能在Declare中定义

declare

maxSalary number(10,2);

begin

select max(salary) into maxSalary from employee;

if :new.salary > maxSalary then

raise_application_error(-20010,'员工工资超出工资上限!');

end if;

end;

/

Sql代码

1.-- 设置员工的工资不能低于原工资,但也不能高出原工资的20%

2.create or replace trigger tr_emp_say before update of salary

3. on employee for each row

4. -- 设置执行触发器的条件

5. when (new.salary < old.salary or new.salary > old.salary*1.2)

6. begin

7. raise_application_error(-20011,'员工的不能降薪,但工资升幅不能超过20%!');

8.end;

-- 设置员工的工资不能低于原工资,但也不能高出原工资的20%

create or replace trigger tr_emp_say before update of salary

on employee for each row

-- 设置执行触发器的条件

when (new.salary < old.salary or new.salary > old.salary*1.2)

begin

raise_application_error(-20011,'员工的不能降薪,但工资升幅不能超过20%!'); end;

在CMD中执行:audit insert,update,delete on employee by access;

可以设置Employee表的审计选项,如果在Employee表上执行了Insert、

Update和Delete操作,Oracle会将关于SQL操作的信息(用户、时间等)

写入数据字典中,但使用数据库审计只能审计SQL操作,而不能记载数据变化

Instead of 触发器:

它是DML触发器的替代品,控制对视图的操作,它可以使不能更新的视图变为可更新,

以及覆盖可更新的视图的行为

注意:

Instead of 选项只适用于视图

当基于视图建立触发器时,不能指定Before和After选项

在建立视图时没有指定with check option选项

当建立Instead of触发器时,必须指定for each row选项

Sql代码

1.-- 创建用户表

2.-- drop table users;

3.create table users(

4. userId int not null,

5. username varchar(20) not null,

6. password varchar2(50) not null,

7. logintime date not null

8.)

9.-- 向用户表中插入数据

10.insert into users values(1,'user1',11111,sysdate);

11.insert into users values(2,'user2',22222,sysdate);

12.insert into users values(3,'user3',33333,sysdate);

13.insert into users values(4,'user4',44444,sysdate);

14.insert into users values(5,'user5',55555,sysdate);

15.select * from users;

16.-- 建立复杂视图

17.-- drop view emp_users;

18.create or replace view emp_users as

19.select distinct e.empno,https://www.wendangku.net/doc/094190936.html,,https://www.wendangku.net/doc/094190936.html,ername from employee e,users u where e.empno = https://www.wendangku.net/doc/094190936.html,erId;

20.

21.select * from emp_users;

22.-- drop view tr_instead_of_emp_users;

23.create or replace trigger tr_instead_of_emp_users

24.instead of insert on emp_users for each row

25.declare

26. i_temp int;

27.begin

28. -- 同时向两张表中插入数据

29. select count(*) into i_temp from employee where empno = :new.empno;

30. if i_temp = 0 then

31. insert into Employee values(:new.empno,:https://www.wendangku.net/doc/094190936.html,,'销售经理',1,'2009-01-09',5300,'销售',4);

32. end if;

33.

34. select count(*) into i_temp from users where userId = :new.empno;

35. if i_temp = 0 then

36. insert into users values(:new.empno,:https://www.wendangku.net/doc/094190936.html,ername,55555,sysdate);

37. end if;

38.end;

39./

-- 创建用户表

-- drop table users;

create table users(

userId int not null,

username varchar(20) not null,

password varchar2(50) not null,

logintime date not null

)

-- 向用户表中插入数据

insert into users values(1,'user1',11111,sysdate);

insert into users values(2,'user2',22222,sysdate);

insert into users values(3,'user3',33333,sysdate);

insert into users values(4,'user4',44444,sysdate);

insert into users values(5,'user5',55555,sysdate);

select * from users;

-- 建立复杂视图

-- drop view emp_users;

create or replace view emp_users as

select distinct e.empno,https://www.wendangku.net/doc/094190936.html,,https://www.wendangku.net/doc/094190936.html,ername from employee e,users u where e.empno = https://www.wendangku.net/doc/094190936.html,erId;

select * from emp_users;

-- drop view tr_instead_of_emp_users;

create or replace trigger tr_instead_of_emp_users

instead of insert on emp_users for each row

declare

i_temp int;

begin

-- 同时向两张表中插入数据

select count(*) into i_temp from employee where empno = :new.empno;

if i_temp = 0 then

insert into Employee values(:new.empno,:https://www.wendangku.net/doc/094190936.html,,'销售经理',1,'2009-01-09',5300,'销售',4);

end if;

select count(*) into i_temp from users where userId = :new.empno;

if i_temp = 0 then

insert into users values(:new.empno,:https://www.wendangku.net/doc/094190936.html,ername,55555,sysdate);

end if;

end;

/

Sql代码

1.-- 测试Instead of 触发器

2.insert into emp_users values(10,'王五','小李');

3.insert into emp_users values(11,'张三','小明');

4.select * from emp_users;

-- 测试Instead of 触发器

insert into emp_users values(10,'王五','小李');

insert into emp_users values(11,'张三','小明');

select * from emp_users;

数据库事件触发器:

在数据库启动、关闭、用户登录、退出或者Oracle错误发生时,以及执行创建、删除表、索引等DDL语句时激发

主要用于跟踪数据库活动

创建打开数据库触发器:after startup

创建用户登录触发器:after logon

创建用户退出触发器:before logoff

创建DDL触发器:after ddl

Sql代码

1.-- 建立用户登录的触发器

2.create or replace trigger tr_logon after logon on database

3. begin

4. raise_application_error(-20001,ora_login_user || '用户登录数据库!');

5.end;

6./

7.-- 建立用户退出的触发器

8.create or replace trigger tr_logoff before logoff on database

9. begin

10. raise_application_error(-20002,ora_login_user || '用户退出数据库!');

11.end;

12./

13.-- 创建DDL日志表

14.create table ddl_log

15.(

16. -- DDL事件

17. ddl_event varchar2(20),

18. -- 对应的数据库登录用户名

19. username varchar2(10),

20. -- 对应的对象的所有者名

21. owner varchar2(10),

22. -- 对应的数据库对象名

23. objname varchar2(50),

24. -- 对应的数据库对象类型

25. objtype varchar2(10),

26. -- 对应的数据库操作时间

27. time date

28.)

29.-- 创建DDL触发器

30.create or replace trigger tr_ddl_log

31.after ddl on database

32.begin

33. insert into ddl_log values(

34. ora_sysevent,ora_login_user,ora_dict_obj_owner,

35. ora_dict_obj_name,ora_dict_obj_type,sysdate

36. );

37.end;

38.

39.select * from ddl_log

40.-- 测试DDL触发器

41.create table aa(aid int)

42.drop table aa

-- 建立用户登录的触发器

create or replace trigger tr_logon after logon on database

begin

raise_application_error(-20001,ora_login_user || '用户登录数据库!'); end;

/

-- 建立用户退出的触发器

create or replace trigger tr_logoff before logoff on database

begin

raise_application_error(-20002,ora_login_user || '用户退出数据库!'); end;

/

-- 创建DDL日志表

create table ddl_log

(

-- DDL事件

ddl_event varchar2(20),

-- 对应的数据库登录用户名

username varchar2(10),

-- 对应的对象的所有者名

owner varchar2(10),

-- 对应的数据库对象名

objname varchar2(50),

-- 对应的数据库对象类型

objtype varchar2(10),

-- 对应的数据库操作时间

time date

)

-- 创建DDL触发器

create or replace trigger tr_ddl_log

after ddl on database

begin

insert into ddl_log values(

ora_sysevent,ora_login_user,ora_dict_obj_owner,

ora_dict_obj_name,ora_dict_obj_type,sysdate

);

end;

select * from ddl_log

-- 测试DDL触发器

create table aa(aid int)

drop table aa

.声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。

oracle系统表和视图说明

1.视图的概述 视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据。视图将一个查询的结果作为一个表来使用,因此视图可以被看作是存储的查询或一个虚拟表。视图来源于表,所有对视图数据的修改最终都会被反映到视图的基表中,这些修改必须服从基表的完整性约束,并同样会触发定义在基表上的触发器。(Oracle支持在视图上显式的定义触发器和定义一些逻辑约束) 2.视图的存储 与表不同,视图不会要求分配存储空间,视图中也不会包含实际的数据。视图只是定义了一个查询,视图中的数据是从基表中获取,这些数据在视图被引用时动态的生成。由于视图基于数据库中的其他对象,因此一个视图只需要占用数据字典中保存其定义的空间,而无需额外的存储空间。 3.视图的作用 用户可以通过视图以不同形式来显示基表中的数据,视图的强大之处在于它能够根据不同用户的需要来对基表中的数据进行整理。视图常见的用途如下: 通过视图可以设定允许用户访问的列和数据行,从而为表提供了额外的安全控制 隐藏数据复杂性 视图中可以使用连接(join),用多个表中相关的列构成一个新的数据集。此视图就对用户隐藏了数据来源于多个表的事实。 简化用户的SQL 语句 用户使用视图就可从多个表中查询信息,而无需了解这些表是如何连接的。 以不同的角度来显示基表中的数据 视图的列名可以被任意改变,而不会影响此视图的基表 使应用程序不会受基表定义改变的影响 在一个视图的定义中查询了一个包含4 个数据列的基表中的3 列。当基表中添加了新的列后,由于视图的定义并没有被影响,因此使用此视图的应用程序也不会被影响。 保存复杂查询 一个查询可能会对表数据进行复杂的计算。用户将这个查询保存为视图之后,每次进行类似计算只需查询此视图即可。

JAVA酒店管理系统项目书

Java语言程序设计小组课程设计 个人报告书 小组题目:酒店管理系统 完成日期:2012年1月4日 酒店管理系统 1、问题描述 随着信息的迅速发展,信息化管理已经引入并且应用到各行各业的管理领域中去,而一个大型的机电将管理信息化也是势在必行的,大量的客流量,同时还要存储各项业务的信息不断更换的客流信息,员工个人信息和工资发配等任务,若要时还是用人力管理不仅将会影响到盈利的同时无异于又给每一位员工带来了很大的工作量! 本文从开发酒店管理系统的相关技术及可行性分析入手简述了

管理系统采用C/S模式的好处及需要实现员工信息管理、预定、简单的财务管理以及进货系统等日程管理信息等功能。详细介绍了各个功能的实现,以及系统测试的情况。 本文主要功能包括:从系统安全可靠性,系统功能,软件运行环境等方面对酒店管理系统进行需求分析,说明系统的合理性与可行性,较为详细的阐述了系统的运行情况。本文最终设计并实现了一个基于C/S模式的酒店管理系统,该系统包括系统设置、日常细细管理、库存管理、预定管理、订餐管理。测试结果表明,本文所开发的管理系统具有简单管理的功能。 酒店形态具有种种优点,但在目前状况下,它仍存在服务业企业所共有的落后的一面,如:不能有效地、快速地服务于每个顾客,收款结算速度慢,容易出现服务不周,不易进行服务评价等。而且在酒店日常管理中,货物的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。随着酒店形态的高速发展,其经营管理也变的愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。而企业若想再激烈的市场经济中立足并胜出,就必须拥有一套完善并适应自身特点的信息化管理系统,以实现企业降低成本、及时反馈市场信息,完善服务质量、提高经济效益、分析市场需求、制定服务计划和目标等管理目的。 21世纪,酒店的竞争也进到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提

Oracle创建视图

Oracle创建视图 在本练习中,将在HR模式中练习如何创建视图,查询视图的定义,并对视图进行更新。 (1)创建一个视图EMPLOYEES_IT,该视图是基于HR模式中的EMPLOYEES表,并且该视图只包括那些部门为IT的员工信息。在创建视图时使用WITH CHECK OPTION,防止更新视图时,输入非IT部门的员工信息。 create or replace view employees_it as select * from employees where department_id =( select department_id from departments where departments.department_name='IT') with check option; (2)创建一个联接视图EMP_DEPT,它包含EMPLOYEES表中的列和DEPARTMENTS 表中的DNAME列。 create or replace view emp_dept as select t1.employee_id,t1.first_name,https://www.wendangku.net/doc/094190936.html,st_name,t1.email, t1.phone_number,t1.hire_date,t1.job_id,t1.salary,t2.department_name from employees t1,departments t2 where t1.department_id=t2.department_id with check option; (3)Oracle针对创建的视图,只在数据字典中存储其定义。输入并执行如下的语句查看创建的视图定义: select text from user_views where view_name=UPPER('emp_dept'); (4)查看视图各个列是否允许更新。 col owner format a20 col table_name format a20 col column_name format a20 select * from user_updatable_columns where table_name=UPPER('emp_dept');

某酒店管理系统设计方案

?更多资料请访问.(.....) ...../ ?更多资料请访问.(.....)

新天红东酒店管理系统 现 状 调 查 和

建 议 湖南省健坤科技信息技术有限公司 2010-7-8

1、概述 (3) 1.1、项目背景 (3) 1.2、系统设计目标 (3) 1.3、定义 (3) 2、设计方案 (4) 2.1、开发目标 (4) 2.2、应用目标 (4) 2.2.1、运行环境 (4) 2.2.2、系统集成要求 (4) 2.3、系统设计原则 (5) 2.4、系统架构 (6) 2.4.1、三层结构(推荐) (6) 2.4.2、遵循魔方系统系统架构 (8) 3、详细设计 (8) 3.1、零售数据修改模块 (8) 3.1.1、系统结构图 (8) 3.1.2、数据定义 (9) 3.1.3、零售数据修改功能模块设计 (9) 3.1.3.1 零售数据编辑 (9) 3.1.3.2 零售数据修改审核 (11) 3.1.3.3 零售数据修改的查询 (12) 3.1.3.4 所属客户的选择 (13) 3.1.3.5 门店的选择 (13) 3.2、门市管理模块 (14) 3.2.1、系统结构图 (14) 3.2.2、门市档案数据设计 (14) 3.2.3、门市档案功能模块 (18) 3.2.3.1 门店档案编辑 (18) 3.2.3.2 门店档案审核 (19) 3.2.3.3 门店档案查询 (19) 3.2.3.4 所属客户的选择 (20) 4、开发进度计划 (20)

概述 项目背景 创维公司外购了一套终端销售系统(也称魔方系统),用于对零售数据进行统计,但是由于某些原因,上报进来的数据存在差异,所以需要提供一个专门的模块对零售数据进行修改。 创维公司每个客户有一个甚至多个门店,需要对客户的门店进行管理,便于物流和销量统计等工作。 系统设计目标 根据零售数据修改需求说明书和门店档案管理需求说明书明确系统需求以便指导系统功能的实现。 定义 本文档中涉及的专门术语、容易引起歧义的概念、关键词缩写及相应的解释内容包括:零售数据是指对终端销售系统提供的零售数据进行后期修改的模块。 门店档案的管理是指对客户的门店基础资料进行管理的模块,包括新建、修改、删除、封存、启用、作废功能。

(Oracle数据库管理)玩转实战教程学习笔记最全版

(O管理)玩转实战教程(韩顺平)学习笔记

韩顺平—玩转oracle视频教程笔记 一:Oracle认证,与其它数据库比较,安装 oracle的卸载 1.停止所有与ORACLE相关的服务。 2. 使用OUI(Oracle Universal Installer)卸载Oracle软件。 “开始”->“程序”->“Oracle-OraDb110g_home1|Oracle installation product|Universal installer. 3.删除注册表内容。运行regedit命令,删除下面内容:HKEY_LOCAL_MACHINE|SOFTWARE|ORACLE注册表键,删除此键。 HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services,删除Services键下所有以oracle为首的键。 HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services|Eventlog|Application,删除此键下所有以oracle为首的键。 HKEY_CLASSES_ROOT,删除此键下所有以Ora,Oracle,Orcl,EnumOra 为前缀的键。 HKEY_CURRENT_USER|Software| Microsoft|Windows|CurrentVersion|Explorer|MenuOrder|Start Menu|Programs,删除此键下所有以oracle为首的键。 HKEY_LOCAL_MACHINE|SOFTWARE|ODBC|ODBCINST.INI注册表键,删除了

ORACLE常用SQL语句大全

ORACLE常用SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not nul l],..) 根据已有的表创建新表: A:select * into table_new from table_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only<仅适用于Oracle> 5、说明:删除表 drop table tablename

6、说明:增加一个列,删除一个列 A:alter table tabname add column col type B:alter table tabname drop column colname 注:DB2DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、添加主键: Alter table tabname add primary key(col) 删除主键: Alter table tabname drop primary key(col) 8、创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、创建视图:create view viewname as select statement 删除视图:drop view viewname 10、几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、几个高级查询运算词 A:UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B:EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 C:INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。 12、使用外连接

酒店管理系统软件需求说明书.doc

酒店管理系统软件需求说明书 1、引言 《酒店管理系统需求说明书》旨在描述系统功能需求和一些非功能需求,明确系统需求边界。文档分为四个部分:概述部分描述了项目的目的和范围,并对文档中使用的术语进行了说明;系统说明部分对系统进行了简要的描述;需求说明部分对系统功能要求、安全性、性能等方面进行阐述;验收则描述了系统最终验收通过的准则。以便于设计人员的设计和维护人员的维护,并且有利于使用者使用。 编写目的 《酒店管理系统需求说明书》目的是明确酒店管理系中各项功能和非功能性需求,确定系统功能模块。同时为概要设计和详细设计人员提供设计依据,其他本项目组的开发人员也可参阅。 《酒店管理系统需求说明书》的阅读对象为: 1)对相关业务技术和总体方案做出决策的管理人员和质量管理人员。 2)对本《酒店管理系统需求说明书》进行评审和确认的有关业务、技术人员。3)参加概要设计和详细设计阶段工作的全体设计人员。 4)《酒店管理系统需求说明书》项目组,其他有权需求调用本文档的人员。 背景 开发软件名称:酒店管理系统 用户:酒店管理人员 项目与其他软件系统的关系: 该系统需要在其他系统等和网络上直接复制数据,所以在定义数据时要与已

有系统相兼容。 本系统采用 B/S,服务器采用 Microscft Server 2003 为操作系统的工作站,是采用 Microsoft SQL Server 2005 的为开发软件的数据库服务程序。 定义:酒店管理系统是帮助酒店自身管理和服务酒店客户的软件。 参考资料 相关法律 《消费者权益保护法》 《酒店管理条例》(即是酒店的管理条文) 2、任务概述 目标 本系统开发任务为提升酒店管理形象,便捷为民服务为初衷。在快节奏的现 在生活中,酒店在日常生活中起着推动发展的作用,但在发展中不免有些不尽人意。在此应用需求下,新一代以快捷为品牌的酒店管理系统应运而生。 在酒店日常管理中,人的角色比较重要,例如:酒店的管理人员,前台接待 人员等。而对于直接操作本系统的人员更应熟练应用本系统,在下面图中就给出 具体的应用模块 用户的特点 本软件的最终用户为:酒店管理系统的使用者,不需要太专业的计算机知识,只要能操作安装 Microsoft XP/2003 系列操作系统的计算机,就可以使用本软件。 本软件的维护人员:酒店管理系统的维护人员为该软件的发开项目小组。需 要详细的了解 C/S 架构、 JAVA编程语言、 RSS协议、操作系统基本知识、数据库设计及操作、 MFC 等知识。

oracle的sqlplus学习笔记

使用SQLPLUS 可以用它运行SQL查询和PL/SQL代码块并接收结果信息 可以发布DBA命令并自动工作 可以启动和关闭数据库 一种创建数据库管理报告的便利方法 设置环境变量 在调用SQLplus前,必须正确设置oracle环境变量, 包括设置ORACLE_SID,ORACLE_HOME和LD_LIBBARY_PATH,有时还须设置NLS_LANG和ORA_NLS11 用CONNECT(conn)命令连接 CONNECT(conn)命令可以以一个不同的用户身份进行连接 例: SQL> conn scott/tiger 已连接。 SQL> connect scott/tiger 已连接。 SQL*Plus登录模式 C:\>sqlplus -h SQL*Plus: Release 10.2.0.1.0 - Production Copyright (c) 1982, 2005, Oracle. All rights reserved. 用法1: sqlplus -H | -V -H 显示SQL*Plus 版本和用法帮助。 -V 显示SQL*Plus 版本。 为: ([/][@] | /) [AS SYSDBA | AS SYSOPER] | /NOLOG 指定数据库帐户用户名, 口令和数据库连接 的连接标识符。如果没有连接 标识符, SQL*Plus 将连接到默认数据库。 AS SYSDBA 和AS SYSOPER 选项是数据库管理 权限。

/NOLOG 选项可启动SQL*Plus 而不连接到 数据库。 为: @|[.] [ ...] 使用将分配给脚本中的替代变量的指定参数 从Web 服务器(URL) 或本地文件系统(filename.ext) 运行指定的SQL*Plus 脚本。 在启动SQL*Plus 并且执行CONNECT 命令后, 将运行站点概要 文件(例如, $ORACLE_HOME/sqlplus/admin/glogin.sql) 和用户概要文件 (例如, 工作目录中的login.sql)。这些文件 可包含SQL*Plus 命令。 SQLPLUS的执行操作 一条SQL语句由一个分号(;)或一个反斜杠(/)结束 一个PL/SQL块由一个反斜杠(/)结束 可以使用连字符(-)作为语句行的继续字符 例: SQL> select 200 - <==此时sqlplus自动将'-'字符解释成继续字符并发布一条错误信息 > 100 from dual; select 200 100 from dual * 第 1 行出现错误: ORA-00923: 未找到要求的FROM 关键字 SQL> select 200 - - > 100 from dual; 200-100 ---------- 100 退出SQLPlus 在SQL*Plus输入exit(quit)命令正常退出会话,则事务立即被提交.如果不打算提交事务,必须在退出前执行rollback命令,就算autocommit设置值为off也是如此.在使用exit/quit时,会出现以下情况 ?所有未决的更改被回滚或提交; ?用户退出oraclesqlplus会话终止 ?控制权返回到操作系统

oracle中以dba_、user_、v$_、all_、session_、index_开头的常用表和视图

oracle中以dba_、user_、v$_、all_、session_、index_开头的常用表和视图(https://www.wendangku.net/doc/094190936.html,/gzz%5Fgzz/blog/item/1f6ef92a67599392033bf6de.html) 2009年08月10日星期一 17:06 oracle中以dba_、user_、v$_、all_、session_、index_开头的常用表和视图dba_开头 dba_users 数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_objects 数据库对象信息 dba_tablespaces 数据库表空间信息 dba_data_files 数据文件设置信息 dba_temp_files 临时数据文件信息 dba_rollback_segs 回滚段信息 dba_ts_quotas 用户表空间配额信息 dba_free_space 数据库空闲空间信息 dba_profiles 数据库用户资源限制信息 dba_sys_privs 用户的系统权限信息 dba_tab_privs 用户具有的对象权限信息 dba_col_privs 用户具有的列对象权限信息 dba_role_privs 用户具有的角色信息 dba_audit_trail 审计跟踪记录信息 dba_stmt_audit_opts 审计设置信息 dba_audit_object 对象审计结果信息 dba_audit_session 会话审计结果信息 dba_indexes 用户模式的索引信息 user_开头 user_objects 用户对象信息 user_source 数据库用户的所有资源对象信息 user_segments 用户的表段信息 user_tables 用户的表对象信息 user_tab_columns 用户的表列信息 关于这个还涉及到两个常用的例子如下: 1、oracle中查询某个字段属于哪个表 Sql代码 select table_name,owner from dba_tab_columns t where t.COLUMN_NAME like upper('%username%'); select table_name,owner from dba_tab_columns t where t.COLUMN_NAME like

oracle酒店管理系统

Oracle 数据库的设计与实现选题名称:酒店管理系统 姓名: 学号: 专业: 班级: 指导老师: 设计地点: 目录

一、系统需求分析 系统开发的目的和意义----------3 系统要求-----------------------------3二、系统总体设计 系统功能需求----------------------4 系统数据需求----------------------4 系统功能结构图-------------------5 系统部分流程图-------------------5 三、数据库设计 数据库概念模型-------------------7 数据库物理模型-------------------8 酒店管理系统部分数据字典 ---9

四、系统实现过程 设计过程 -----------------------------11 系统各界面设计代码 -------------28 五、实验总结 实验中遇到的问题 ---------------35 心得体会 --------------------------35 一、系统需求分析 系统开发的目的和意义 首先应该在此次实践中有所收获,能够学习到相关软件的功能,和进行实践设计需要的知识的。能够在实践中学习。 面对酒店行业的高速发展和酒店行业信息化发展的过程中出现的各种情况,酒店客房管理系统在实施后应达到以下目的:实现多点操作的信息共享,相互之间的信息传递准确、快捷、顺畅; 服务管理信息化,可随时掌握客人住宿情况; 系统界面友好美观,操作简单易行,查询灵活方便,数据存储安全。 实现客房的登记入住和查询功能,查询酒店信息,客人信息,客房信息等功能。 实现Delphi和oracle的连接,进行数据的插入。 系统要求

Oracle EBS常用表和视图

fnd_user 系统用户表 fnd_application 应用信息表 FND_PROFILE_OPTIONS_VL 系统配置文件 fnd_menus 菜单 fnd_menu_entries_tl FND_NEW_MESSAGES 消息表 FND_FORM 表单表 FND_CONCURRENT_PROGRAMS_VL 并发程序视图 FND_CONCURRENT_PROGRAMS_TL FND_CONCURRENT_PROGRAMS FND_DESCR_FLEX_COL_USAGE_VL FND_DESCR_FLEX_COL_USAGE_TL FND_DESCR_FLEX_COLUMN_USAGES FND_EXECUTABLES_FORM_V 可执行并发程序视图FND_EXECUTABLES_TL FND_EXECUTABLES FND_DESCRIPTIVE_FLEXS FND_CONC_REQ_SUMMARY_V 并发请求视图FND_CONCURRENT_REQUESTS FND_RESPONSIBILITY 职责表

FND_RESPONSIBILITY_VL 职责FND_USER_RESP_GROUPS 用户职责 fnd_flex_value_sets 值集表 FND_FLEX_VALUES FND_IREP_ALL_INTERFACES 接口表 FND_IREP_CLASSES Fnd_Irep_Classes_Tl fnd_territories_vl 国家视图 fnd_log_messages 日志表 fnd_form_functions 功能 FND_DOCUMENT_SEQUENCES 单据序列 FND_DOC_SEQUENCE_ASSIGNMENTS 序列分配 fnd_id_flexs 关键弹性域定义表 FND_ID_FLEX_STRUCTURES 弹性域结构表 FND_ID_FLEX_SEGMENTS 弹性域段表 fnd_descriptive_flexs 描述性弹性域属性表 FND_DESCR_FLEX_CONTEXTS 弹性域列类别表 FND_DESCR_FLEX_COLUMN_USAGES 弹性域列类别属性表FND_FLEX_VALUE_SETS 值集表 FND_FLEX_VALUES 值表 Fnd_Flex_Values_Tl 值描述表

基于web的酒店管理系统设计

基于web的酒店管理系统 摘要 现代化的酒店组织庞大、服务项目多、信息量大,要想提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。酒店管理系统正是为此而设计的。 我在本次毕业设计中采用Java和MVC框架模式下开发,使用Oracle数据库。继承Java的“Write Once, Run Anywhere”的优点,可以在任何一个系统下运行。我在设计系统过程中,把模块按用户的等级(管理员,前台职员和清洁工)分别设计了相应的功能。 该采用Jsp应用开发技术,具有一些预订客房,退房等功能,尤其依靠java的优点来为酒店更好的进行管理,稳定性,可扩展性,安全性,健壮性,都是该酒店管理的优势所在。 数据库采用的Oracle9i,在数据库的利用上该系统用了简单的Hibernate和JDBC作为和数据库进行数据交互的方式。Struts则是为了Web层能够更好控制跳转。 关键词:酒店管理系统、Oracle、Java、MVC框架模式 HOTEL MANAGERMENT SYSTEM

Abstract Large-scale modernization of the hotel, services and more informative, in order to improve the labor and production, reduce costs, improve service quality and management level, thus promoting economic efficiency, to use the computer to carry out the modernization of information management. Hotel Management System is designed for this purpose. I graduated in the design and MVC framework using JAVA development mode, use the ORACLE database. JAVA succession of "Write Once, Run Anywhere" the advantages of a system in any run. I am in the process of designing the system, the module level by the user (administrator, front desk staff and cleaners) were designed corresponding functions. The site using jsp application development technology, with some reservations, check-out functions, in particular, rely on the advantages of java to better manage the hotel, stability, scalability, security, robustness, is the hotel management the advantage. Database used in oracle9i, the use of the database on the system using a simple Hibernate and JDBC data and databases as a way of interaction. Struts is a Web layer in order to better control the Jump. Key words: Hotel Management System、Oracle、Java、MVC PATTEN 前言 在80年代初发展起来的国的酒店管理系统,充分吸收了国外管理系统的精华,再结合国的实际情况,逐步发展成熟,到90年代初期已形成了几个较成熟的软件系统,同时,产生了几家专职从事宾馆业计算机管理系统的公司。到了90年代中后期,随着计算机在酒店中的普及应用,计算机技术的不断发展,酒店管理系统的发展到了一个新的时期,新的系统平台、新的系统特点及发展方向不断涌现,主要体现在系统基本转到客户机/服务器模式下的Windows版,功能更加细

Oracle10g学习笔记之Scott的所有表结构及字段含义

Oracle10g学习笔记之Scott的所有表结构及字段含义(一)EMP,DEPT ,BONUS,SALGRADE表 雇员表:记录了一个雇员的基本信息 EMP(雇员表) NO 字段类型描述 1 EMPNO NUMBER(4) 雇员编号 2 ENAME V ARCHAR2(10) 表示雇员姓名 3 JOB V ARCHAR2(9) 表示工作职位 4 MGR NUMBER(4) 表示一个雇员的领导编号 5 HIREDA TE DA TE 表示雇佣日期 6 SAL NUMBER(7,2) 表示月薪,工资 7 COMM NUMBER(7,2) 表示奖金或佣金 8 DEPTNO NUMBER(2) 表示部门编号 部门表:表示一个部门的具体信息 DEPT(部门表) NO 字段类型描述 1 DEPTNO NUMBER(2) 部门编号 2 DNAME V ARCHAR2(14) 部门名称 3 LOC V ARCHAR2(13) 部门位置 奖金表:表示一个雇员的工资及奖金。 BONUS(奖金表) NO 字段类型描述 1 ENAME V ARCHAR2(10) 雇员姓名 2 JOB V ARCHAR2(9) 雇员工作 3 SAL NUMBER 雇员工资 4 COMM NUMBER 雇员奖金 一个公司是有等级制度,用此表表示一个工资的等级 SALGRADE(工资等级表) NO 字段类型描述 1 GRADE NUMBER 等级名称 2 LOSAL NUMBER 此等级的最低工资 3 HISAL NUMBER 此等级的最高工资 实验任务: 创建一个表STUDENT(SNO,SNAME,SAGE,SSEX,SDEPT),其中SAGE 为NUMBER类型,其余为V ARCHAR2,定义出主键,并要求SNAME为非空。 2、以SAGE的降序为STUDENT表建立索引,索引名为TEST。 查询雇员的工资在2000到3000之间的员工的姓名和受雇佣时间。 4、查询工资最高的员工的员工号和姓名。 查询部门号为20的雇员的人数。 6、查询各部门的雇员人数。 查询每个员工的间接上司的员工号。----自身连接

酒店管理系统需求分析

酒店管理系统 酒店管理系统需求分析 1酒店管理系统需求概述 酒店管理信息管理系统是以顾客订房信息为基础建立的管理系统,是管理酒店客房业务的重要方法、手段、技术和操作过程的集合。作为一个管理信息系统,其服务的对象是双方面的:酒店和顾客。因此,一个好的酒店管理系统,必须让双方在使用时都快捷方便。 顾客通过输入姓名、密码等基本信息,由系统自行生成酒店相应的统计数据及各类统计报表以供用户查询、打印,另外操作人员还可以对这些基本信息进行定期的更新和删除, 酒店管理系统力求给用户方便快捷的途径去管理这些繁琐的数据。为酒店带来方便,也为顾客带来方便,实现信息化。 根据可行性研究的结果和客户的要求,分析现有情况及问题,采用两级管理结构,将酒店管理系统划分为两个子系统:酒店管理人员,酒店前台收银员。 系统的主要业务流程如下: 第一步:登录系统,选择适合您的身份。根据登录用户和密码进行登陆。 第二步:录入顾客消费信息和菜单种类信息等。即吧台查询菜品,菜系和日结账等详细资料,提交订单,将信息录入酒店管理系统的数据库中。一个姓名对应一个台号,台号一定要确保准确无误,以便方便上菜。 第三步:对顾客消费进行销账处理。对顾客的消费信息进行结账。 第四步:对日,月,年的消费信息进行汇总处理。对整个酒店每日,每年,每月的消费信息进行简单的计算,方便酒店管理人员了解酒店的运行状态和运营趋势。 酒店分为前厅部,客房部,财务部,工程部,销售部,餐饮部,会员部,人 事部,机房等多个工作部门,其中前厅部作为酒店的神经中枢,在客人心中,是 酒店管理机构的代表。客人的入住、退房、结账等活动都是在前台完成的,所以 为其设计管理信息系统的时候,首先要考虑其组织结构,经过调查该系统的组 织结构图如下。

Oracle学习笔记

Oracle的四个主要用户 1.超级管理员sys/change_on_install 2.普通管理员system/manager 3.普通用户scott/tiger 4.大数据用户sh/sh 简单查询 1.查询表结构 DESC 表名 2.简单查询SELECT [DISTINCT] *|[字段 [别名]] [,字段 [别名]] … FROM 表名 [别名] (1)查询时也可以使用四则运算,如:SELECT (字段*x)+y FROM 表名 (2)可以使用“||”连接字段与字符串,如: select '工作与工资:' || job || sal 工作工资 from emp 执行结果: 3.限定查询SELECT [DISTINCT] *|[字段 [别名]] [,字段 [别名]] … FROM 表名 [别名] [WHERE 条件(s)] (1)Where字句后可以增加多个条件,最常见的条件就是最基本关系运算:>、<、>=、<=、!=(<>)、BE TWEEN…AND、LIKE、IN(指定范围)、IS NULL(为空)、AND(且)、OR(或)、NOT(非)。 (2)多个条件可以使用AND与OR连接。 例如:select * from emp where sal>1300 and sal<4000 (3)范围判断BE TWEEN…AND:BETWEEN 最小值 AND 最大值(大于等于最小值,小于等于最大值),BE TWEEN…AND 对数字、日期都可以使用!!! 例如:select * from emp where sal between 1300 and 4000 例如:select * from emp where hiredate between '01-1月-1981' and '31-12月-1981' (4)判断为空IS (NOT) NULL 例如:select * from emp where comm is null 例如:select * from emp where comm is not null 例如:select * from emp where not comm is null (5)指定范围的判断(NOT) IN 例如:select * from emp where empno in(7369,7566,7799)

Oracle常用数据字典表(系统表或系统视图)及查询SQL

Oracle常用数据字典表(系统表或系统视图)及查询SQL 2014年12月15日?数据库?共4187字?暂无评论?阅读861 次 文章目录 ?数据字典分类 ?dba_开头 ?user_开头 ?v$开头 ?all_开头 ?session_开头 ?index_开头 ?伪表 ?数据字典常用SQL查询 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息的视图等。 数据字典系统表,保存在system表空间中。查询所有数据字典可用语句“select * from dictionary;”。 数据字典分类 数据字典主要可分为四部分: 1)内部RDBMS表:x$*,用于跟踪内部数据库信息,维持DB的正常运行。是加密命名的,不允许sysdba以外的用户直接访问,显示授权不被允许。

2)数据字典表:*$,如tab$,obj$,ts$等,用来存储表、索引、约束以及其他数据库结构的信息。 3)动态性能视图:gv$*,v$*,记录了DB运行时信息和统计数据,大部分动态性能视图被实时更新以反映DB当前状态。 4)数据字典视图:user_*、all_*、dba_*,在非Sys用户下,我们访问的都是同义词,而不是V$视图或GV视图。 数据库启动时,动态创建x$,在X$基础上创建GV$,在GV$基础上创建V$X$表-->GV$(视图)--->V$(视图)。 数据字典视图可分为静态数据字典视图和动态数据字典视图。 静态数据字典是指在用户访问数据字典时内容不会发生改变。这类数据字典主要是由表和视图组成,应该注意的是,数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。 静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*(该用户方案对象的信息)、all_*(该用户可以访问的所有对象的信息)、dba_*(全部数据库对象的信息)。 动态数据字典是Oracle包含的一些潜在的由系统管理员如SYS维护的表和视图,由于当数据库运行的时候它们会不断进行更新,所以称它们为动态数据字典。这些视图提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。Oracle中这些动态性能视图都是以v$开头的视图,比如v$access。 dba_开头 dba_users数据库用户信息

酒店管理系统方案(客+餐)

酒店管理系统方案书 2010年3月 目录

一. 有关本方案的说明 (2) 二. 本方案预期达到的目标和效益 (3) 三. 系统平台介绍 (3) 四. 软件特点及系统安全特性 (4) 五.酒店管理系统功能模块介绍 (6) 六.质量保证体系 (9) 七、施工周期及培训计划 (10) 八、售后服务承诺 (11) 九、软件报价 (13) 十、硬件推荐及报价 (14) 十一、软件工作站示意图 (16) 附:软件销售协议书 (17) 一、有关本方案的说明

随着旅游事业的蓬勃发展和酒店管理业务的不断扩大, 酒店管理人员尤其是酒店酒店的管理人员对酒店管理的现代化科学化的要求逐渐迫切起来。越来越多的酒店领导认识到酒店管理计算机化的重要性和必要性, 计算机信息管理系统对酒店管理来说, 已不再是一个时髦的奢侈品,而是一个必不可少的得力助手。 根据贵方对电脑管理的规划和要求, 我们给出了基本配置方案。本方案中给出的配置是针对贵方的规模给出的,方案中的价格可作为贵方领导预算时参考。 二. 本方案预期达到的目标和效益 1.提高经济效益: 完善的散客和团体预订功能可防止有房不能出租或满房重订的情况出现,可随时提供准确和最新的房间使用和预订情况,从而可提高 客房出租率。客人费用的直接入帐,不仅减少了票据传送,而且避免了 管理上的混乱,更主要的是有效地防止逃帐的发生。 完善的预测功能可用于市场销售,如确定宣传的重点地区和如何掌握的浮动等。 正确控制价格,从而提高收入。 2.提高服务质量: 少于一秒的客人信息查询手段,使客人得到满意的答复。 餐费、电话费、洗衣费、客房饮料费、电传传真费、酒吧饮料费等费用的一次性结帐管理,不仅大大方便了宾客,也提高了酒店的经营 管理水平。 少于一秒的历史档案查询更为查帐或查客人信息提供了极大的方便。 回头客自动识别、黑名单客人自动报警、VIP客人鉴别等均有利于改善酒店的形象。

精通 oracle 10g plsql 编程-学习笔记

1.PL/SQL综述 本章学习目标,了解如下内容: PL/SQL的功能和作用 PL/SQL 的优点和特征; Oracle 10g、Oracle9i 的PL/SQL新特征 1.1.SQL简介 1.1.1.SQL语言特点 SQL语言采用集合操作方式 1.1. 2.SQL语言分类 ●数据查询语言(SELECT语句):检索数据库数据。 ●数据操纵语言(DML):用于改变数据库数据。包括insert,update和delete三条语句。 ●事务控制语言(TCL):用于维护数据库的一致性,包括commit,rollback和savepoint 三 条语句 ●数据定义语言(DDL):用户建立、修改和删除数据库对象。 ●数据控制语言(DDL):用于执行权限授予和收回操作。包括grant 和revoke两条命令。 1.1.3.SQL 语句编写规则 ●SQL关键字不区分大小写 ●对象名和列名不区分大小写 ●字符值和日期值区分大小写 ●书写格式随意 1.2.PL/SQL简介 1.3.Oracle 10G PL/SQL 新特征 2.PL/SQL开发工具 本章学习目标: 学会使用SQL*PLUS 学会使用PL/SQL developer; 学会使用Procedure Builder。 2.1.SQL*PLUS 在命令行运行SQL*Plus

Sqlplus [username]/[password] [@server] 3.PL/SQL 基础 学习目标: ●了解PL/SQL块的基本结构以及PL/SQL块的分类; ●学会在PL/SQL块中定义和使用变量 ●学会在PL/SQL块中编写可执行语句; ●了解编写PL/SQL代码的指导方针; ●了解Oracle 10g的新特征——新数据类型BINARY_FLOAT 和 BINARY_DOUBLE,以及指定字符串文本的新方法。 3.1.PL/SQL 块简介 3.1.1.PL/SQL块结构 3.1.2.PL/SQL 块分类 匿名块 命名块 子程序 触发器 3.2. 定义并使用变量 3.2.1.标量变量 3.2.2.复合变量 3.2.3.参照变量 3.2. 4.LOB 变量 3.2.5.非PL/SQL 变量

相关文档
相关文档 最新文档