嗨 甲骨文【1】

【序】
为了在工作中写存储过程,。同时,我准备写学习《精通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

 

处理NULL:NVL(expr1,expr2) 如果expr1是null则返回expr2;如果不是则返回expr1两者类型要匹配

 

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

 

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

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

 

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

 

只读事务:SET TRANSACTION READ ONLY;

                或者:exec dbms_transaction.read_only

 

分组函数

MAX、MIN、AVG、SUM、COUNT、VARIANCE(方差)、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;

时间: 2024-08-03 23:35:13

嗨 甲骨文【1】的相关文章

嗨 甲骨文【5】

SQL函数:单行函数,多行函数(分组函数) 字符函数ascii('a')=>97chr(65)=>'A'initcap('my word')=>My Wordinstr('morning,'n',1,1)=>4length('eric lu han')=>11lpad('targ',10,'*')=>******targnls_lower('Me')=>menls_upper(my word')=> MY WORDregexp_replace() (10g)

嗨 甲骨文【4】

动态SQL的使用 Oracle实际上比SQL Server好一些,但绝对没有传说中那么强.这是这些天一识Oracle庐山真面目的感受.看来好多事情多如此,听的要比见到的完美.接着第一句说,Oracle的动态SQL就很棒,我专门学习了一下.记录如下. 先说说动态SQL是什么,看这句熟悉的:select * from a_table where a_variable=a_declarevalue;再写句动态的:select * from a_table where a_variable=:a_dyn

嗨 甲骨文【2】

/************************************************我与游标 /************************************************使用显式游标 定义游标DECLARE CURSOR cursor_name IS select_statement; 打开游标OPENOPEN cursor_name 提取游标FETCHFETCH cursor_name INTO variable1,variable2,...; 关闭游标CL

甲骨文云策略拉长战线 对抗云计算集团军

10月1日 在昨天甲骨文首席执行官Larry Ellison的演讲中,引发业界震动的当属甲骨文发布的公有云SaaS策略,以及在客户防火墙之后.能像公有云一样按需租用并由甲骨文远程支持的甲骨文私有云服务了.无论是昨天Larry Ellison的演讲还是今天总裁马克·赫德的演讲,在谈及竞争对手时似乎掉转了枪头.Larry Ellison表示:"我们在SaaS领域的对手是Salesforce而非SAP,在IaaS领域的对手是亚马逊而非IBM."而马克·赫德也把甲骨文云服务与Salesforc

甲骨文又推出新版本啦!

近日,甲骨文推出了Oracle 托管型CRM 20 版(Oracle CRM On Demand Release 20)这个新概念,其新增功能主要有增加收入,降低成本,并跨行业提升客户体验.此举再度体现了甲骨文的持续创新和对客户的承诺.Oracle 托管型CRM 20版针对每一个行业的独特客户体验和沟通需求,对解决特定行业的关键问题,为生命科学.保险.金融服务和汽车行业提升商业价值上都做出了不菲的成绩. 甲骨文准确记录和监测样品质量下降的功能有助于确保企业遵守生命科学行业内与样品分销有关的,普遍

傲游云浏览器旅行嗨翻天

  进入9月,令人期待的中秋国庆长假逐渐接近,各种"请假攻略"随之在网上流传开来.据悉,今年的中秋节假期为9月19日至21日,本周起就可以在网上订购火车票.与此同时,网友们也都根据自身情况,打造出不同的请假攻略,出行方式也不尽相同,下面与小编一起来看看这些请假出行攻略,哪些比较适合您?无论是火车还是飞机,傲游云浏览器[下载]都能让你旅行嗨翻天! 攻略一:请3天休8天 机票出行连休一周 小编发现,今年的假期基本靠"凑",不少人对此假期安排无力吐槽.因此有人打出&quo

甲骨文全球大会揭示Oracle Solaris 11

甲骨文公司在旧金山举行的2011甲骨文全球大会上展示Oracle Solaris 11,该操作系统计划于今年11月推出.Oracle Solaris是面向企业级操作系统,在SPARC和x86系统上均能提供业界领先的可用性.安全性和性能. 推荐阅读:Solaris 11将会带给我们些什么? Oracle Solaris 11是为云计算而开发的顶级企业级操作系统,在大规模云环境中,可实现安全和闪电般快速的服务部署.同时为Oracle及第三方应用进行了优化.超过600个来自金融服务.通信.公用事业等不

开放源代码将挑战甲骨文王国

甲骨文公司持续在数据库市场称霸,但分析师指出,开放源代码将成为该公司最大的对手. 市场研究公司IDC和Gartner均预测,关系性数据库管理系统(RDBMS)软件的全球业绩将持续成长,而企业数据储存需求仍是市场扩增的主要来源.该系统主要用于存储.操作或恢复数据. Gartner与IDC均在本周公布的全球2005年RDBMS软件销售报告中做出评估. 分析师表示,甲骨文王国的最大威胁将是MySQL等开放源代码竞争者.开放源代码软件的受欢迎,可能改变RDBMS产品现在的计价和授权方式,颠覆现状. Ga

甲骨文 惠普发布优化数据仓库设计部署

2006年7月31日,甲骨文和惠普联合宣布,双方已共同开发出一套"参考配型",能够帮助IT部门加速基于惠普服务器与存储平台.Oracle(r) Database 10g软件的数据仓库部署. 此次开发出的这套"参考配型",可帮助客户从一开始就获得其所需的数据库.服务器与存储的最佳资源组合.这些配型可以从不同程度地优化数据仓库解决方案,实现其出色的设计性能或性价比.这种方式可以缩短数周的购买周期从而更易于与甲骨文和惠普合作,有助于实现企业与惠普和甲骨文之间更轻松的业务合