- 浏览: 1005463 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (445)
- Java (22)
- J2EE (18)
- Flex (102)
- Flex-blazeds (1)
- Flex-FABridge (2)
- Flex4 (3)
- CheckStyle (2)
- PowerDesigner (0)
- POI (2)
- Java2Word (2)
- 杂项 (15)
- 日记 (3)
- 数据库-oracle (41)
- 数据库-SQLServer (7)
- 中间件 (1)
- 英语 (8)
- C# (43)
- ASP.net (72)
- ASP.net MVC (28)
- 微软-Entity Framework (19)
- JavaScript (22)
- JQuery (31)
- EasyUI (3)
- VS2010 (4)
- CVS (1)
- Tomcat (3)
- Linux (1)
- 遗留问题 (1)
- iphone (1)
- MAC (0)
- 系统 (2)
- Web Service (4)
- Cache Manager (1)
- PMP (1)
- WCF (10)
- BootstrapJs (1)
- Web API (6)
- Go语言 (0)
- 网络协议 (2)
- Redis (10)
- RabbitMQ (10)
- Git (3)
- Kafka (5)
- ELK (5)
- Nginx (3)
- 测试 (2)
最新评论
-
ygm0720:
Table行拖拽自己实现 -
程乐平:
Flex4开发视频教程(27集)下载http://bbs.it ...
Flex4教程 -
liuweihug:
Jquery+asp.net 后台数据传到前台js进行解析的办 ...
AJAX $.toJSON的用法或把数组转换成json类型 -
weilikk:
谢谢谢谢!!
javascript IE下不能用 trim函数解决方法 -
gxz1989611:
vigiles 写道请问楼主:[Fault] exceptio ...
blazeds推送技术至Flex
1. 使用%TYPE
在许多情况下,PL/SQL变量可以用来存储在数据库表中的数据。在这种情况下,变量应该拥有与表列相同的类型。例如,students表的first_name列的类型为VARCHAR2(20),我们可以按照下述方式声明一个变量:
DECLARE
v_FirstName VARCHAR2(20);
但是如果first_name列的定义改变了会发生什么(比如说表改变了,first_name现在的类型变为VARCHAR2(25))?那就会导致所有使用这个列的PL/SQL代码都必须进行修改。如果你有很多的PL/SQL代码,这种处理可能是十分耗时和容易出错的。
这时,你可以使用”%TYPE”属性而不是将变量类型硬性编码。
例如:
DECLARE
v_FirstName students.first_name%TYPE;
通过使用%TYPE,v_FirstName变量将同students表的first_name列的类型相同(可以理解为将两者邦定起来)。
每次匿名块或命名块运行该语句块以及编译存储对象(过程、函数、包、对象类和触发器)时,就会确定该类型。
使用%TYPE是非常好的编程风格,因为它使得PL/SQL更加灵活,更加适应于对数据库定义的更新。
2. 使用%ROWTYPE
2.1 PL/SQL记录
PL/SQL记录类型类似于C语言中的结构,是一种复合类型,是用户自定义的。 记录提供了一种处理独立的但又作为一个整体单元相关的变量的机制。请看:
DECLARE
v_StudentID NUMBER(5);
v_FirstName VARCHAR2(20);
v_LastName VARCHAR2(20);
这3个变量在逻辑上是相互关联的,因为他们指向students表中不同的字段。如果为这些变量声明一个记录类型,那么他们之间的关系就十分明显,可作为一个单元进行处理。
DECLARE
/*Define a record type to hold common student informationi*/
TYPE t_StudentRecord IS RECORD(
StudentID NUMBER(5),
FirstName VARCHAR2(20),
LastName VARCHAR2(20);
/*Declare a variable of this type.*/
v_StudentInfo t_StudentRecord;
2.2 记录赋值
可以用SELECT语句向记录赋值,这将会从数据库中检索数据并将该数据存储到记录中。注意的是,记录中字段应该和查询结果列表中的字段相匹配。
SELECT studentID,firstName,lastName
into v_StudentInfo
from students where studentID=32;
2.3 使用%ROWTYPE
在PL/SQL中将一个记录声明为具有相同类型的数据库行的作法是很常见的。PL/SQL提供了%ROWTYPE运算符,使得这样的操作更为方便。
例如:
DECLARE
v_RoomRecord rooms%ROWTYPE;
将定义一个记录,该记录中的字段将与rooms表中的列相对应。
发表评论
-
数据库主键到底是用自增长(INT)好还是UUID好
2018-03-09 17:02 912之前在参加长沙互联 ... -
MySQL、Oracle和SQL Server的分页查询语句
2017-01-06 14:10 670假设当前是第PageNo页,每页有PageSize条记录,现 ... -
Oracle job为什么不能自动执行,手工执行可以
2016-02-26 10:11 1041用sysdba登录,执行show parameter jo ... -
oracle job 定时执行 存储过程
2016-02-26 10:10 6003oracle job 定时执行 存储过程 ... -
oracle查询表结构
2010-10-18 16:50 2547方法1 --按照表明查询 select * fr ... -
Oracle错误一览表(3)
2010-07-31 16:20 2170ORA-09751: pw_attachPorts: 服务器调 ... -
Oracle错误一览表(2)
2010-07-31 16:20 4481ORA-02201: 此处不允许序列(号) ORA-02202 ... -
Oracle错误一览表(1)
2010-07-31 16:19 2192ORA-00001: 违反唯一约束条件 (.) ORA-000 ... -
用于表空间和表分区的方法
2010-07-08 14:07 1166CREATE OR REPLACE FUNCTION MASA ... -
oracle中查看用户权限
2010-06-17 09:16 11651.查看所有用户: select * from dba_us ... -
oracle append 用法
2010-06-13 15:24 43561、今天PL/SQL导出数据时,忘将删除记录选项去除。结果,以 ... -
oracle删除重复记录
2010-06-11 11:50 1316比如现在有一人员表 (表名:peosons)若想将姓名、身份证 ... -
Oracle多行记录合并/连接/聚合字符串的几种方法
2010-06-11 11:37 6721怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL ... -
sqlplus中改变日期的输出格式
2010-06-08 13:04 1654工作中碰到用spool导出数据,其中有日期格式的字段,因为fo ... -
聚合字符串的几种方法
2010-05-26 16:18 1423怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL ... -
Oracle过程快查询成条记录,以及如何编写游标
2010-05-18 11:29 1173Declare Cursor emp_cur is ... -
Oracle时间日期操作
2010-05-17 17:31 1134Oracle时间日期操作sysdate+(5/24/60/ ... -
ORACLE常用函数和SQL性能忧化
2010-05-12 22:33 1266NVL(eExpression1, eExpression2) ... -
[Oracle]高效的SQL语句之分析函数(四)--lag()/lead()
2010-05-05 14:55 1234有时候报表上面需要显示该笔操作的上一步骤或者下一步骤的详细信息 ... -
[Oracle]高效的SQL语句之分析函数(三)--row_number() /rank()/dense_rank()
2010-05-05 14:39 1602有些时候我们希望得到指定数据中的前n列,示例如下:得到每个部门 ...
相关推荐
Oracle PL/SQL中如何使用%TYPE和%ROWTYPE
3) OCI: C语言和数据库打交道的方法,和Pro*C很相似,更底层,很少用 只适合ORACLE; 4) SQLJ: 很新的一种用Java访问Oracle数据库的方法,会的人不多; 5) JDBC 6) PL/SQL: 存储在数据库内运行, 其他方法为在...
%type用法,%rowtype用法,TYPE用法 游标的使用 for 循环 loop循环 while循环 if / else 的用法 case 的用法 标题 错误定义 error的设定 exception用法 标题 存储过程及函数 procedure 的建立...
介绍了oracle存储过程中常见的sql写法,游标(隐式,显式),触发器, CASE ... WHEN ...... ELSIF ...THEN...ELSE...END IF,记录类型变量定义和使用 ,%type定义变量,%rowtype定义变量,goto,异常。多且全
7.4 使用%TYPE和%ROWTYPE类型的变量 58 1.%Type 59 2.%RowType 59 7.5 复合变量 60 1.记录类型(“行”) 60 2.记录表类型(“表” ) 60 (1)使用的原因: 60 (2)定义记录表类型(联合数组) 60 7.6 条件判断...
包含oracle存储过程的增、删、查、改 %type、%rowtype的使用 自定义函数 PL/SQL块
- 是专用于Oracle服务器,在SQL基础之上,**添加了一些过程化控制语句,叫PLSQL** - 过程化包括有:类型定义,判断,循环,游标,异常或例外处理。。。 - **PLSQL强调过程** ![PLsql图片描述]...
在一般的情况下,使用批量fetch的几率并不是很多,但是Oracle提供了这个功能我们最好能熟悉一下,说不定什么时候会用上它。 代码如下:declare cursor c1 is select * from t_depart; v_depart t_depart%...
C# 访问Oracle示例+PL/SQL+存储过程+触发器 完整示例 测试可用 --PL/SQL基础1 declare begin dbms_output.('不输出不换行'); dbms_output.put_line('输出并换行'); end; --PL/SQL基础2 declare dig number(20,...
PL/SQL基础编程之(三)[自定义复合变量][%TYPE和%ROWTYPE的应用]
文章目录:1、概述:2、存储过程概念及语法格式:3、数据类型与定义变量和常量4、特殊数据类型之%TYPE和%ROWTYPE5、在存储过程中%TYPE和%ROWTYPE常用来在PL/SQL中定义变量:6、 循环语句Loop 使用7、PL/SQL 游标 概念...
第一部分 Oracle SQL*PLUS基础 23 第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24...
oracle教案(doc) 1. oracle安装及基本命令 1 1.1 oracle简介 1 1.2 oracle安装 1 1.2.1 常见版本 1 1.2.2 安装: 2 1.2.3 oracle必须启动的服务 2 1.3 oracle常见的第三方工具 4 2. SQL/PLUS 5 2.1 命令行方式 5 2.2 ...
这个文档主要是讲pck里面的语法,还没写完 ...重点是对函数请求参数、返回,into、 for、 corsor、%type、%rowtype等的简单理解tst 测试pck文件还会继续完善 PCK文件配置有截图和详细说明 请看文件夹里面的 说明 文件
§2.4.3 使用%ROWTYPE 11 §2.4.4 LOB类型* 11 §2.4.5 Bind 变量 11 §2.4.6 INDEX BY TABLES 12 §2.4.7 数据类型的转换* 13 §2.5 运算符和表达式(数据定义) 13 §2.5.1 关系运算符 13 §2.5.2 一般运算符 13 §...
课程名称 oracle数据库系统编程 课程号 MD02 考试时间 90分钟 考试方式(闭)卷 (共 6 页) (本试卷满分100分,60分合格,答案请写在答题卡上) 一、选择题(含单选题和多选题,每题2分,共60分) 在每小题列出...
v_name cc_quiz_stat %rowtype; v_state cc_quiz_stat.state %type; begin declare cursor cur_cc is select * from cc_quiz_stat; cursor cur_jc(v_n varchar2) is select state from cc_quiz_stat; begi
4、接收雇员号,输出该雇员的所有信息,...(用%rowtype实现)。(存储过程) 7、输入部门编号,按照下列加薪比例执行给该部门的雇员加薪(用CASE实现,修改emp1表的数据) (存储过程) 13、输出如下九九乘法表。(存储过程)
§2.4.3 使用%ROWTYPE 11 §2.4.4 LOB类型* 11 §2.4.5 Bind 变量 11 §2.4.6 INDEX BY TABLES 12 §2.4.7 数据类型的转换* 13 §2.5 运算符和表达式(数据定义) 13 §2.5.1 关系运算符 13 §2.5.2 一般运算符 13 §...
代码如下: — Created on 2010/11/04 by WANGNAN declare — Local... TYPE t_pg3 IS TABLE OF asis.PG3_AGENTCD_CONVERSION% ROWTYPE; v_pg3_table t_pg3; c_pg3_vendor com.cRef; v_str VARCHAR2( 250); begin — Tes