【序】
为了在工作中写存储过程,我开始了梦寐以求的Oracle编程。同时,我准备写学习《精通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时可没这等好事。
<!----><o:p> </o:p>
PL/SQL块结构<o:p></o:p>
DECLARE
/*定义部分*/
BEGIN
/*执行部分*/
EXCEPTION
/*例外处理部分*/
END; /*块结束标记,此处有分号*/
/ /*这是命令行中的结束符*/
<o:p> </o:p>
四大块类型
匿名块、命名块、子程序(过程、函数、包)、触发器
四大变量类型
标量(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; ß动态确定新的类型和长度
<o:p> </o:p>
挺像Delphi: 1 变量赋值 := 2记录 RECORD
<o:p> </o:p>
在命令行中写SQL语句时注意:单条结束要用; 模块结束要用/ 才能显示你的查询
<o:p> </o:p>
不重复显示查询:SELECT DISTINCT *FROM A_TBL
<o:p> </o:p>
处理NULL:NVL(expr1,expr2) 如果expr1是null则返回expr2;如果不是则返回expr1两者类型要匹配
<o:p> </o:p>
删除表数据并释放空间:TRUNCATE TABLE
<o:p> </o:p>
Oracle不允许其他用户读取脏数据(未提交事务),确保数据库数据的读一致性
加锁,确保同一时间对文件的操作只能有一人
<o:p> </o:p>
Savepoint 用于取消部分事务,事务结束后自动删除所有保存点。
<o:p> </o:p>
只读事务:SET TRANSACTION READ ONLY;
或者:exec dbms_transaction.read_only
<o:p> </o:p>
分组函数
MAX、MIN、AVG、SUM、COUNT、VARIANCE(方差)、STDDEV(标准偏差)
GROUP BY用于对查询结果进行分组统计――比如每组最大值
HAVING用于限制分组显示结果――比如最大值小于2800
ROLLUP在原统计结果基础上生成横向小统计
CUBE在原统计结果基础上生成纵向小统计
<o:p> </o:p>
Oracle的流程控制语句<o:p></o:p>
IF语句
IF THEN
ELSIF THEN
ELSE
END IF;
<o:p> </o:p>
CASE语句(9i)
CASE
WHEN THEN
ELSE
END CASE;
<o:p> </o:p>
基本循环
<!----><st1:place w:st="on">LOOP</st1:place>
EXIT[WHEN ];
END <st1:place w:st="on">LOOP</st1:place>;
<o:p> </o:p>
WHILE循环
WHILE <st1:place w:st="on">LOOP</st1:place>
END <st1:place w:st="on">LOOP</st1:place>;
<o:p> </o:p>
FOR 循环
FOR _v in[REVERSE] lo..hi LOOP
END <st1:place w:st="on">LOOP</st1:place>;
分享到:
相关推荐
【知识点1:甲骨文的历史背景】 甲骨文是中国古代的占卜和记录文字,dating back to the Shang Dynasty (16th-11th centuries BC). 甲骨文是中国古代文字发展的重要阶段, marks the transition from primitive ...
甲骨文是中国古代商朝晚期(大约公元前14世纪至公元前11世纪)的一种文字,主要刻在龟甲和兽骨上,因而得名。它是中国已知最早的成熟文字体系,是研究古代汉字发展、了解古代社会历史和文化的重要资料。甲骨文的发现...
在这个场景中,我们关注的是一个专门针对甲骨文图片的深度学习数据集,这为研究者提供了一个宝贵的资源来探索和提升计算机在识别和理解古代文字方面的能力。 甲骨文是中国最早的文字形式,记录在龟甲和兽骨上,主要...
可进行甲骨文输入的输入法,在word和记事本里输入需要先选择好甲骨文字体,然后进行输入,不然输入不成功
《基于Yolov5+PyQt的甲骨文图形化检测项目详解》 在现代计算机视觉领域,目标检测技术已经成为不可或缺的一部分,广泛应用于自动驾驶、监控系统、医疗影像分析等诸多领域。Yolov5作为其中的佼佼者,以其高效、准确...
【甲骨文 Oracle Bones】彼得·海斯勒1
甲骨文MP3自动广播控制系统曲目表 甲骨文广播 MP3自动广播 U盘存100多首曲目表
1. 字头分类:通常按照字形特点对甲骨文字进行分类,方便查找与对比。 2. 字形展示:提供清晰的字形图片或拓片,展示每个字符的原始书写形式。 3. 字义解释:对每个甲骨文的含义进行解释,包括其在卜辞中的使用语境...
《甲骨文知识图谱构建中的实体关系发现研究》 甲骨文,作为我国最早的成熟文字,蕴含着丰富的历史信息,对于古代历史文化的研究具有极高的价值。然而,由于甲骨文的专业性和复杂性,专家对其的解读和知识共享存在很...
《甲骨文与中华文明的传承——纪念甲骨文发现一百二十周年》的主题围绕着甲骨文这一中国最早的成熟文字系统及其对中华文明的重大影响展开。甲骨文的发现在1899年,至今已有120年的历史,它是汉字发展史上一个里程碑...
1. 甲骨文是流行于我国古代商朝的成熟文字系统,本质上是一种平面图形,笔画和结构不是非常稳定。 2. 甲骨文字形识别难点在于难以写难记,已有的编码输入方法受众面小,效率很低,使用受限。 3. 基于分形几何的甲骨...
【甲骨文查询】是一个关于探索中国古老文字——甲骨文的电子书资源。甲骨文,是中国最早的文字系统,其历史可以追溯到商朝时期(约公元前14世纪至公元前11世纪),是汉字的源头,对于研究中国古代历史文化具有极其...
"Crystal Ball"是一款由甲骨文公司(Oracle)开发的高级预测和决策分析工具,尤其在健康风险评价领域中有着广泛的应用。它以其强大的统计建模、模拟和优化功能,帮助用户预测不确定性和风险,从而制定更为明智的业务...
在IT行业中,数据库管理系统是数据存储和管理的核心,而甲骨文(Oracle)数据库系统作为全球领先的数据库解决方案之一,提供了丰富的工具来支持其操作和管理。本文将详细讲解甲骨文数据库使用的命令行工具,以及如何...
《甲骨文智慧城市解决方案——构建智能未来城市的关键》 智慧城市,是现代科技与城市管理的深度融合,旨在提升城市的运行效率,优化公共服务,改善居民生活质量。在这个领域,甲骨文公司凭借其深厚的IT技术积累,...
甲骨文数据库..11g.Release.1.].A.Brief.Look.at.Oracle.Database.11g.ppt 更多 资料http://www.51listening.com/
1. "人"字,甲骨文的形态像一个人站立的样子,两条直线代表人的双腿,一条横线代表身体。 2. "爪"字,描绘的是动物的爪子,常用来表示抓握、狩猎等含义。 3. "毛"字,由几条曲线组成,象征着动物的皮毛或者植物的...
随着深度学习技术的快速发展,其在甲骨文识别领域的应用逐渐成为研究热点。甲骨文是中国古代商朝晚期的一种文字,是现今汉字的早期形式,具有极高的历史和文化价值。然而,甲骨文的字形结构极为复杂,存在大量异体字...