`
liss
  • 浏览: 854718 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

《oracle 9i从入门到精通读书笔记2》

阅读更多
第二章:PL/SQL基础 

2.1 PL/SQL程序结构 

2.1.1 PL/SQL块的类型 

所有的PL/SQL程序都是以块作为基本单位,以及都是由块组成的。 

这些块可以是按顺序出现的,也可以是嵌套的 

块可以根据其带名称和不带名称以及在数据库中的存储方式分为以下类型: 

匿名块:只能执行一次,不能存储在数据库中 

带名块:一种带标签的匿名块 

子程序:可以存储在数据库中的过程,函数和包,可以多次执行,可以在外部的程序中显示调用 

触发器:存储在数据库中的带名块,当相应的触发事件发生时触发器就被自动执行,触发器事件一般是针对特定的数据库表进行的DML语句,如INSERT,UPDATE,DELTE 

<<I_Namedblock>> 

DECLARE 

v_num1 NUMBER := 1; 

v_num2 NUMBER := 2; 

v_str1 VARCHAR2 (30) := '你好!'; 

v_str2 VARCHAR2 (30) := '这是你第一次接触PL/SQL'; 

v_outputstr VARCHAR2 (30); 

BEGIN 

INSERT INTO test_table(ncolumn, vcolumn)VALUES (v_num1, v_str1); 

INSERT INTO test_table(ncolumn, vcolumn)VALUES (v_num2, v_str2); 

SELECT vcolumn INTO v_outputstr FROM test_table WHERE ncolumn = v_num1; 

DBMS_OUTPUT.put_line (v_outputstr); 

SELECT vcolumn INTO v_outputstr FROM test_table WHERE ncolumn = v_num2; 

DBMS_OUTPUT.put_line (v_outputstr); 

END I_Namedblock; 

带名块就是在匿名块前面加上一个标签 

把DECLARE关键字 变成 CREATE OR REPLACE PROCEDURE 就变成了存储过程 

CREATE OR REPLACE PROCEDURE 过程名 IS 

2.1.2 PL/SQL块的结构 

所有块都包含3个部分:声明部分,执行部分,异常处理部分 

DECLARE 

v_ncolumn NUMBER :=6; 

v_vcolumn VARCHAR2(30); 

BEGIN 

SELECT v_column INTO v_vcolumn FROM test_table WHERE ncolumn=v_ncolumn; 

EXCEPTION 

WHEN NO_DATA_FOUND THEN 

DBMS_OUTPUT.PUT_LINE('没有找到匹配的数据'); 

END; 

在过程和函数中声明变量是不需要DECLARE的,但在声明TRIGGER中的变量是必须要有DECLARE 

如果块中不需要声明变量,类型和游标时,声明部分可以省略 

执行部分是不可缺少的,一般以BEGIN开始 END结束。END关键字必须是分号结束的 

2.1.3 词法单位 

e代表乘以10的多少次幂 

2.2 变量声明 

Variable_name [CONSTANT] type [NOT NULL][:=value | DEAFULT value] 

Variable_name是变量名 

CONSTANT 声明的是一个常量 

Type 是类型 

NOT NULL 可选,表示不能为空 

:=value | DEAFULT value表示赋值 

缺省的变量会被初始化为NULL 

不能把NULL付给一个定义为NOT NULL的变量acct_id INTEGER(5) NOT NULL;这样是不允许的 

在NATURAL和POSITIVEN,他们被预先定义为NOT NULL 

每行只能声明一个变量,这和其他语言不同 

BEGIN END;是可以嵌套的 

2.3 变量类型 

4中标量类型(数字类型,布尔型,字符型,日期型) 

复合型 

引用型 

LOB型 

数字型的三种基本类型:BINARY_INTEGER,NUMBER,PLS_INTEGER 

字符型:CHAR,VARCHAR2,LONG和LONG RAW,RAW,ROWID和UROWID 

LOB类型:BFILE,BLOB,CLOB,NCLOB 

布尔类型:BOOLEAN(TRUE,FALSE,NULL) 

日期时间类型:DATE,TIMESTAMP,TIMESTAMP WITH TIME ZONE,TIMESTAMP WITH LOCAL TIME ZONE,INTERVAL YEAR TO MONTH,INTERVAL DAY TO SENCOND 

复合类型:记录,表,数组 

引用类型:REF CURSOR 和ref object_type 

用户自定义类型 

2.4 数据类型转换 

显式转换,可以使用内置函数 

隐式转换,隐式转换不是好的习惯,可能会影响效率,结果可能不可预料 

2.5 表达式 

表达式是由操作符和运算符的结合 

CASE 表达式 

CASE SELECTOR 

WHEN express THEN result1 

WHEN express THEN result3 

WHEN express THEN result2 

END;

本文出自 “achilles” 博客,请务必保留此出处http://orajc.blog.51cto.com/458434/94566

分享到:
评论

相关推荐

    Oracle9i PLSQL 入门到精通读书笔记

    通过阅读“Oracle9i PLSQL 入门到精通”这本书,读者可以系统地学习如何使用PLSQL进行数据库编程,从简单的数据操作到复杂的业务逻辑实现,逐步提升为数据库专家。书中的实例和实践项目将帮助读者巩固理论知识,提高...

    李兴华Oracle笔记整理

    Oracle有多个版本,包括Oracle8、Oracle8i、Oracle9i、Oracle10g、Oracle11g等,每个版本都有其特点。如Oracle10g和Oracle11g都是网格技术版本,网格技术可以解决网络资源的浪费问题。 2. SQLPlus 基本命令 ...

    115个Oracle资料(教程+工具)地址汇总.pdf

    16. **oracle从入门到精通** - 从零开始系统地介绍了Oracle数据库的学习路径。 - 覆盖了从基础知识到高级技能的所有阶段。 17. **Oracle 9i10g编程艺术.pdf** - 专为希望掌握Oracle数据库编程技术的学习者编写。...

    LTspice仿真:LDO电源电路学习与实践的利器

    内容概要:本文详细介绍了如何利用LTspice进行LDO(低压差线性稳压器)电源电路的仿真。首先讲解了如何导入LDO模型并配置仿真环境,接着深入探讨了瞬态分析、相位裕度、电源抑制比(PSRR)等关键仿真的具体步骤和注意事项。文中提供了多个实用的操作技巧,如通过调整补偿电容优化相位裕度,以及使用.step param命令批量测试不同参数的影响。此外,还分享了一些常见的仿真误区及其解决方法,帮助读者更好地理解和掌握LDO的设计与调试。 适合人群:电子工程专业学生、电源电路设计初学者、希望深入了解LDO特性的工程师。 使用场景及目标:适用于希望通过仿真工具提高LDO设计技能的人群。主要目标是掌握LDO的基本工作原理,学会使用LTspice进行各种类型的仿真分析,从而优化电路设计,确保系统的稳定性和性能。 其他说明:文章不仅提供详细的仿真步骤和技术细节,还附带了作者的实际经验和常见问题解决方案,使读者能够在实践中不断改进自己的设计思路。

    渝安集团员工职业发展通道设计方案.ppt

    渝安集团员工职业发展通道设计方案.ppt

    新能源电动汽车VCU与BMS的HIL硬件在环仿真技术及其模块化建模

    内容概要:本文详细介绍了新能源电动汽车中VCU(整车控制器)和BMS(电池管理系统)的HIL(硬件在环)仿真技术。首先阐述了整车建模的基础,包括电池、电机等关键部件的建模要点。接着分别解析了驾驶员模块、仪表模块、BCU整车控制器模块、MCU电机模块、TCU变速箱模块、BMS电池管理模块等多个子模块的功能和实现方式。最后强调了HIL仿真在电动汽车控制系统测试和优化中的重要性,特别是在降低成本和风险方面的作用。 适合人群:从事新能源汽车研发的技术人员,尤其是专注于VCU和BMS领域的工程师。 使用场景及目标:适用于需要深入了解电动汽车控制系统仿真技术的研发团队,在产品开发初期进行系统测试和优化,确保各子系统间的协同工作正常。 其他说明:文中提供了大量代码示例,帮助读者更好地理解和实践相关概念和技术细节。此外,还分享了一些实际项目中的经验和教训,如故障注入测试的具体应用场景等。

    如何应对一线人员春节后的离职潮.docx

    如何应对一线人员春节后的离职潮

    线性代数_GitHub_课件作业_教学辅助用途_1742837800.zip

    线性代数

    离职面谈表.xls

    离职面谈表.xls

    聚宽对接qmt大礼包,帮助你配置好交易实盘环境

    聚宽对接qmt大礼包,配备需要的全部软件:python3.9版本,qmt模拟安装包,pycharm安装包,talib包

    试用期转正表.xls

    试用期转正表.xls

    招聘数据分析.xls

    招聘数据分析.xls

    如何让新员工快速融入团队.docx

    如何让新员工快速融入团队

    电力电子仿真中并离网逆变器及无功补偿设备的控制策略与建模

    内容概要:本文详细介绍了并离网逆变器的两种主要控制策略——PQ控制和V/f控制,以及无功能量发生器(SVG)和有源电力滤波器(APF)的仿真模型。对于PQ控制,文章展示了如何将功率指令转化为电流指令,并强调了电网电压定向和限幅处理的重要性。V/f控制则用于离网模式,通过调节电压和频率来维持系统的稳定。SVG主要用于无功补偿,通过实时计算无功需求进行补偿。APF则专注于谐波检测和消除,利用自适应滤波器提高效率。此外,文中还提供了多个实用的小技巧,如仿真步长设置、模式切换时的前馈补偿等。 适合人群:从事电力电子仿真研究的技术人员,尤其是对逆变器控制策略感兴趣的工程师。 使用场景及目标:适用于需要深入理解和实现逆变器控制策略的研究项目,帮助工程师优化仿真模型,提升系统性能,确保仿真结果的准确性。 其他说明:文章不仅提供了详细的代码片段,还分享了许多实践经验,有助于读者避免常见错误,提高仿真成功率。

    Carsim与Simulink联合仿真中基于线性二自由度模型的卡尔曼滤波(KF)实现及优化

    内容概要:本文详细介绍了如何利用Carsim与Simulink进行联合仿真,通过线性二自由度模型和卡尔曼滤波(KF)来估计车辆的质心侧偏角和横摆角速度。首先搭建了联合仿真框架,Carsim提供车辆状态量,Simulink负责算法处理。文中展示了线性二自由度模型的状态方程及其参数设定,并深入探讨了KF的两种实现方式:S函数编程和Simulink内置模块。对于S函数实现,着重讲解了状态转移矩阵的动态更新以及噪声矩阵Q的调整策略,确保模型能够适应车速变化。而对于内置模块,则指出了其在灵活性方面的不足之处。此外,还讨论了联合仿真的配置要点,如数据接口同步、采样时间和信号处理等问题。 适合人群:从事车辆动力学研究、控制理论应用、自动化控制领域的工程师和技术人员。 使用场景及目标:适用于需要精确估计车辆质心侧偏角和横摆角速度的研究和开发项目,特别是在涉及ESP等主动安全系统的开发过程中。目标是提高估计精度,增强系统的鲁棒性和响应速度。 其他说明:文章提供了详细的代码片段和实践经验分享,帮助读者更好地理解和实施相关技术。建议在实际应用中根据具体需求选择合适的KF实现方式,并注意处理各种边界条件和异常情况。

    档案管理[03].pptx

    档案管理[03]

    风电与储能联合调频系统:基于Python的建模与优化

    内容概要:本文详细介绍了风电与储能联合调频系统的原理及其优化方法。首先解释了风电输出功率的波动性和对电网频率的影响,提出储能系统作为解决方案。文中展示了如何用Python生成风速数据并构建调频控制系统,重点讨论了PID控制器的设计以及SOC(荷电状态)管理策略。此外,还探讨了调频控制逻辑、硬件在环测试、风电功率预测模型(如LSTM)、调频效果验证方法及储能系统的物理限制等问题。最后强调了模型验证的重要性,提出了异常数据注入测试的方法。 适合人群:从事电力系统自动化、新能源发电及储能技术研发的专业人士,尤其是有一定编程基础的研究人员和技术工程师。 使用场景及目标:适用于需要理解和实施风电与储能联合调频项目的团队。主要目标是提高电网稳定性,减少风电波动带来的负面影响,同时延长储能系统的使用寿命。 其他说明:文中提供了大量实用的Python代码示例,涵盖了从数据生成到控制逻辑实现再到模型验证的全过程。对于希望深入理解风储调频系统的工作机制和技术挑战的人来说,是一份非常有价值的参考资料。

    HCIA-Storage V4.5 培训教材 合集

    HCIA-Storage V4.5 培训教材 合集

    基于S7-1200与博途V15的PLC小车自动往返控制系统设计与仿真

    内容概要:本文详细介绍了利用西门子S7-1200系列PLC和博途V15软件平台构建的小车自动往返控制系统。首先进行硬件组态,选择合适的CPU并配置输入输出点位,确保限位开关和急停按钮的有效接入。接着编写梯形图逻辑,实现小车在AB两点间的精确控制,采用定时器互锁机制避免电机损坏。然后设计触摸屏界面,通过WinCC创建动画效果展示小车运动状态,并设置按钮操作实现手动与自动模式切换。最后进行联合仿真实验,解决常见错误如变量地址配置不当等问题,确保系统稳定运行。 适合人群:工业自动化领域的工程师和技术人员,尤其是对PLC编程和HMI设计有一定基础的学习者。 使用场景及目标:适用于需要掌握PLC控制系统设计全流程的专业人士,帮助他们理解如何整合硬件组态、梯形图编程以及HMI开发,最终完成一个完整的自动化工程项目。 其他说明:文中提供了详细的调试经验和技巧,附带74分钟的操作录像资料,有助于读者更好地理解和实践相关知识点。

    公司员工关怀工作清单.xls

    公司员工关怀工作清单

Global site tag (gtag.js) - Google Analytics