数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
嗨 甲骨文【1】

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

【序】
为了在工作中写存储过程,。同时,我准备写学习《精通Oracle 10g PL/SQL编程》(水利水电)一书的学习笔记。

这些你能不能写全:
Data Query Language--SELECT
Data Manipulation Language--INSERT,UPDATE,DELETE
Transactional Control Language--COMMIT,ROLLBACK,SAVEPOINT
Data Definition Language--CREATE TABLE,ALTER TABLE,DROP TABLE
Data Control Language--GRANT,REVOKE
一次应聘面试中,我就没能答出此类问题。想来只有惭愧,无他。

PL/SQL能将SQL语句组合成块,一次传输,降低了网络开销,此等高效,往日用SQL Server时可没这等好事。

 

PL/SQL块结构

DECLARE

/*定义部分*/

BEGIN

/*执行部分*/

EXCEPTION

/*例外处理部分*/

END; /*块结束标记,此处有分号*/

/    /*这是命令行中的结束符*/

 

四大块类型

   匿名块、命名块、子程序(过程、函数、包)、触发器

四大变量类型

标量(Scalar)、复合(Composite)、参照(Reference)LOB(Large Object)

Composite:PL/SQL记录、PL/SQL表、嵌套表、VARRAY

参照:游标变量(REF CURSOR) 对象类型变量(REF obj_type)

       LOB:内部LOB(CLOB,BLOB,NCLOB)、外部LOB(BFILE)


DECLARE

v_num NUMBER(6,2); ß变量定死了长度,将来无法动态改变,只能手动修改

v_num tbl.num%TYPE; ß动态确定新的类型和长度

 

挺像Delphi: 1 变量赋值 :=  2记录 RECORD

 

在命令行中写SQL语句时注意:单条结束要用; 模块结束要用/ 才能显示你的查询

 

不重复显示查询:SELECT DISTINCT *FROM A_TBL

 

处理NULLNVL(expr1,expr2) 如果expr1null则返回expr2;如果不是则返回expr1两者类型要匹配

 

删除表数据并释放空间:TRUNCATE TABLE

 

Oracle不允许其他用户读取脏数据(未提交事务),确保数据库数据的读一致性

加锁,确保同一时间对文件的操作只能有一人

 

Savepoint 用于取消部分事务,事务结束后自动删除所有保存点。

 

只读事务:SET TRANSACTION READ ONLY;

                或者:exec dbms_transaction.read_only

 

分组函数

MAXMINAVGSUMCOUNTVARIANCE(方差)STDDEV(标准偏差)

GROUP BY用于对查询结果进行分组统计――比如每组最大值

HAVING用于限制分组显示结果――比如最大值小于2800

ROLLUP在原统计结果基础上生成横向小统计

CUBE在原统计结果基础上生成纵向小统计

 

Oracle的流程控制语句

IF语句

IF      THEN

ELSIF  THEN

ELSE

END IF;

 

CASE语句(9i)

CASE

   WHEN   THEN

ELSE

END CASE;

 

基本循环

LOOP

   EXIT[WHEN  ];

END LOOP;

 

WHILE循环

WHILE   LOOP

END LOOP;

 

FOR       循环

FOR _v in[REVERSE] lo..hi LOOP

END LOOP;




相关文章

相关软件