- 浏览: 854718 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (530)
- Java编程 (64)
- C/C++/D (6)
- .Net/C# (9)
- Ruby (12)
- JavaScript (77)
- XML (1)
- JSON (1)
- Ajax (17)
- ExtJs (81)
- YUI (1)
- JQuery (7)
- DWR (1)
- HTML (7)
- CSS (7)
- Database (6)
- PowerDesigner (23)
- DB2 (2)
- Oracle (57)
- MS SQL Server (8)
- MySQL (6)
- JSP/Servlet/JSTL/TagLib (3)
- Spring (1)
- Hibernate (0)
- iText (0)
- Struts (0)
- Struts2 (0)
- iReport (0)
- FreeMarker (0)
- HttpClient (1)
- POI (6)
- FckEditor (15)
- Eclipse / MyEclipse (10)
- IntelliJ IDEA (0)
- NetBeans (0)
- Tomcat (11)
- WebLogic (1)
- Jboss (3)
- jetty (4)
- IIS (2)
- CVS/VSS (1)
- FTP (1)
- Windows/DOS (6)
- Linux/Unix (0)
- 软件建模 UML (0)
- Design Pattern & Thinking In Programming (10)
- 数据结构与算法 (12)
- 软件项目管理 (9)
- 行业应用解决方案 (3)
- 电脑软件与故障解决 (13)
- 编程语言 (1)
- 十万个为什么 (3)
- JBPM (2)
- sysbase (2)
- JDBC (8)
- Ant (2)
- Case-计算机辅助软件工程 (1)
- WebService (4)
- 浏览器 (1)
最新评论
-
gaoqiangjava:
同一楼,还请大手帮解决
JAVA读取word文件 -
hyl523:
// 判断数组中的第一个值是否未定义,如果未定义,便定义为空对 ...
javascript面向对象之二 命名空间 -
ping12132200:
ping12132200 写道我抱着个错不是因为:body标签 ...
extjs在IE报对象不支持此属性或方法 -
ping12132200:
我抱着个错不是因为:body标签内的第一个元素不能为文本tex ...
extjs在IE报对象不支持此属性或方法 -
fireinjava:
呀,不错,转走了,谢谢啦~
利用OpenOffice将word转换成PDF
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
发表评论
-
oracle中怎样查询数据表的哪个字段是主键
2011-03-20 18:17 1547selecttable_name,constraint_nam ... -
ORACLE树查询,startwithconnectbyprior
2011-03-20 18:12 1023[url=#author]周 登朋[/url] ([url=m ... -
java.sql.SQLException: ORA-00933: SQL command not properly ended
2010-10-08 19:16 2326java.sql.SQLException: ORA-0093 ... -
Oracle数据显示--横表转纵表
2010-10-06 11:42 11951.建表-- Create table create ta ... -
Oracle学习笔记
2010-07-28 00:30 8951、set linesize 100; 设置长度 2、se ... -
《Oracle9i PL/SQL 从入门到精通读书笔记1》
2010-07-26 19:51 1205Oracle9i PL/SQL 从入门到精通学习笔记 第一章: ... -
Oracle域用户安装
2010-07-05 19:43 1199问题:如果在域中安装Oracle 10G, 在DataB ... -
存储过程无法代替触发器的特殊情况
2010-07-03 13:30 1041在这里先解释一下推崇 ... -
informix的字符串类型详解(含与oracle的对比)
2010-07-03 13:29 1758lvarchar在9.4版本之后才可以用带指定长度的方式,如l ... -
oracle的字符串类型详解
2010-07-03 13:29 1710整理一下对于char,characte ... -
Oracle学习笔记
2010-07-01 20:29 7691、set linesize 100; 设置长度 2、se ... -
Oracle数据库函数(单行函数)
2010-07-01 20:28 924Oracle数据库函数(单行函数) Oracle中的函 ... -
oracle日期函数集锦
2010-07-01 20:26 786一、 常用日期数据格式 1.Y或YY或YYY 年的最后一位, ... -
Oracle时间加减
2010-07-01 20:23 1105加法 select sysdate,add_months(s ... -
Oracle中数值的计算
2010-06-30 23:46 1148运算符 含义 · +(加) 加法 · ||(加) ... -
Oracle常见问题处理
2010-06-30 23:46 951一、Oracle的安装目录不能是中文,否则安装不成功。解决:O ... -
Oracle基础练习(三)
2010-06-30 23:45 10571、select 5/2,null*5 from dual, ... -
如何在Oracle中建表格时就指定主键和外键
2010-06-30 23:42 1523创建表的语法-创建表格语法:create table 表 ... -
Oracle触发器中when语句的用法
2010-06-30 23:41 1472案例:scott.emp表的销售员工资只能增加,不能减少 代 ... -
通过银行转账业务体会JAVA与存储过程不同实现方式
2010-06-30 23:40 1205任务:帐户表(帐户号,姓名,余额,锁定)。实现帐号1向帐号2转 ...
相关推荐
通过阅读“Oracle9i PLSQL 入门到精通”这本书,读者可以系统地学习如何使用PLSQL进行数据库编程,从简单的数据操作到复杂的业务逻辑实现,逐步提升为数据库专家。书中的实例和实践项目将帮助读者巩固理论知识,提高...
Oracle有多个版本,包括Oracle8、Oracle8i、Oracle9i、Oracle10g、Oracle11g等,每个版本都有其特点。如Oracle10g和Oracle11g都是网格技术版本,网格技术可以解决网络资源的浪费问题。 2. SQLPlus 基本命令 ...
16. **oracle从入门到精通** - 从零开始系统地介绍了Oracle数据库的学习路径。 - 覆盖了从基础知识到高级技能的所有阶段。 17. **Oracle 9i10g编程艺术.pdf** - 专为希望掌握Oracle数据库编程技术的学习者编写。...
内容概要:本文详细介绍了如何利用LTspice进行LDO(低压差线性稳压器)电源电路的仿真。首先讲解了如何导入LDO模型并配置仿真环境,接着深入探讨了瞬态分析、相位裕度、电源抑制比(PSRR)等关键仿真的具体步骤和注意事项。文中提供了多个实用的操作技巧,如通过调整补偿电容优化相位裕度,以及使用.step param命令批量测试不同参数的影响。此外,还分享了一些常见的仿真误区及其解决方法,帮助读者更好地理解和掌握LDO的设计与调试。 适合人群:电子工程专业学生、电源电路设计初学者、希望深入了解LDO特性的工程师。 使用场景及目标:适用于希望通过仿真工具提高LDO设计技能的人群。主要目标是掌握LDO的基本工作原理,学会使用LTspice进行各种类型的仿真分析,从而优化电路设计,确保系统的稳定性和性能。 其他说明:文章不仅提供详细的仿真步骤和技术细节,还附带了作者的实际经验和常见问题解决方案,使读者能够在实践中不断改进自己的设计思路。
渝安集团员工职业发展通道设计方案.ppt
内容概要:本文详细介绍了新能源电动汽车中VCU(整车控制器)和BMS(电池管理系统)的HIL(硬件在环)仿真技术。首先阐述了整车建模的基础,包括电池、电机等关键部件的建模要点。接着分别解析了驾驶员模块、仪表模块、BCU整车控制器模块、MCU电机模块、TCU变速箱模块、BMS电池管理模块等多个子模块的功能和实现方式。最后强调了HIL仿真在电动汽车控制系统测试和优化中的重要性,特别是在降低成本和风险方面的作用。 适合人群:从事新能源汽车研发的技术人员,尤其是专注于VCU和BMS领域的工程师。 使用场景及目标:适用于需要深入了解电动汽车控制系统仿真技术的研发团队,在产品开发初期进行系统测试和优化,确保各子系统间的协同工作正常。 其他说明:文中提供了大量代码示例,帮助读者更好地理解和实践相关概念和技术细节。此外,还分享了一些实际项目中的经验和教训,如故障注入测试的具体应用场景等。
如何应对一线人员春节后的离职潮
线性代数
离职面谈表.xls
聚宽对接qmt大礼包,配备需要的全部软件:python3.9版本,qmt模拟安装包,pycharm安装包,talib包
试用期转正表.xls
招聘数据分析.xls
如何让新员工快速融入团队
内容概要:本文详细介绍了并离网逆变器的两种主要控制策略——PQ控制和V/f控制,以及无功能量发生器(SVG)和有源电力滤波器(APF)的仿真模型。对于PQ控制,文章展示了如何将功率指令转化为电流指令,并强调了电网电压定向和限幅处理的重要性。V/f控制则用于离网模式,通过调节电压和频率来维持系统的稳定。SVG主要用于无功补偿,通过实时计算无功需求进行补偿。APF则专注于谐波检测和消除,利用自适应滤波器提高效率。此外,文中还提供了多个实用的小技巧,如仿真步长设置、模式切换时的前馈补偿等。 适合人群:从事电力电子仿真研究的技术人员,尤其是对逆变器控制策略感兴趣的工程师。 使用场景及目标:适用于需要深入理解和实现逆变器控制策略的研究项目,帮助工程师优化仿真模型,提升系统性能,确保仿真结果的准确性。 其他说明:文章不仅提供了详细的代码片段,还分享了许多实践经验,有助于读者避免常见错误,提高仿真成功率。
内容概要:本文详细介绍了如何利用Carsim与Simulink进行联合仿真,通过线性二自由度模型和卡尔曼滤波(KF)来估计车辆的质心侧偏角和横摆角速度。首先搭建了联合仿真框架,Carsim提供车辆状态量,Simulink负责算法处理。文中展示了线性二自由度模型的状态方程及其参数设定,并深入探讨了KF的两种实现方式:S函数编程和Simulink内置模块。对于S函数实现,着重讲解了状态转移矩阵的动态更新以及噪声矩阵Q的调整策略,确保模型能够适应车速变化。而对于内置模块,则指出了其在灵活性方面的不足之处。此外,还讨论了联合仿真的配置要点,如数据接口同步、采样时间和信号处理等问题。 适合人群:从事车辆动力学研究、控制理论应用、自动化控制领域的工程师和技术人员。 使用场景及目标:适用于需要精确估计车辆质心侧偏角和横摆角速度的研究和开发项目,特别是在涉及ESP等主动安全系统的开发过程中。目标是提高估计精度,增强系统的鲁棒性和响应速度。 其他说明:文章提供了详细的代码片段和实践经验分享,帮助读者更好地理解和实施相关技术。建议在实际应用中根据具体需求选择合适的KF实现方式,并注意处理各种边界条件和异常情况。
档案管理[03]
内容概要:本文详细介绍了风电与储能联合调频系统的原理及其优化方法。首先解释了风电输出功率的波动性和对电网频率的影响,提出储能系统作为解决方案。文中展示了如何用Python生成风速数据并构建调频控制系统,重点讨论了PID控制器的设计以及SOC(荷电状态)管理策略。此外,还探讨了调频控制逻辑、硬件在环测试、风电功率预测模型(如LSTM)、调频效果验证方法及储能系统的物理限制等问题。最后强调了模型验证的重要性,提出了异常数据注入测试的方法。 适合人群:从事电力系统自动化、新能源发电及储能技术研发的专业人士,尤其是有一定编程基础的研究人员和技术工程师。 使用场景及目标:适用于需要理解和实施风电与储能联合调频项目的团队。主要目标是提高电网稳定性,减少风电波动带来的负面影响,同时延长储能系统的使用寿命。 其他说明:文中提供了大量实用的Python代码示例,涵盖了从数据生成到控制逻辑实现再到模型验证的全过程。对于希望深入理解风储调频系统的工作机制和技术挑战的人来说,是一份非常有价值的参考资料。
HCIA-Storage V4.5 培训教材 合集
内容概要:本文详细介绍了利用西门子S7-1200系列PLC和博途V15软件平台构建的小车自动往返控制系统。首先进行硬件组态,选择合适的CPU并配置输入输出点位,确保限位开关和急停按钮的有效接入。接着编写梯形图逻辑,实现小车在AB两点间的精确控制,采用定时器互锁机制避免电机损坏。然后设计触摸屏界面,通过WinCC创建动画效果展示小车运动状态,并设置按钮操作实现手动与自动模式切换。最后进行联合仿真实验,解决常见错误如变量地址配置不当等问题,确保系统稳定运行。 适合人群:工业自动化领域的工程师和技术人员,尤其是对PLC编程和HMI设计有一定基础的学习者。 使用场景及目标:适用于需要掌握PLC控制系统设计全流程的专业人士,帮助他们理解如何整合硬件组态、梯形图编程以及HMI开发,最终完成一个完整的自动化工程项目。 其他说明:文中提供了详细的调试经验和技巧,附带74分钟的操作录像资料,有助于读者更好地理解和实践相关知识点。
公司员工关怀工作清单