- 浏览: 1060036 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (501)
- dwr (6)
- javascript (84)
- oracle (66)
- jsp/servlet (18)
- ant (3)
- 基础知识 (12)
- EXT (10)
- My SQL (10)
- java (71)
- spring (37)
- 学习的对象 (2)
- Linux (24)
- 面试 (1)
- HTML/CSS (11)
- tomcat (11)
- 收藏夹 (2)
- Power Designer (2)
- struts.xml配置文件 (1)
- sturts2 (3)
- myeclipse (8)
- eclipse (7)
- Maven (34)
- SVN (3)
- SAP JCO (2)
- JBOSS (11)
- webservice (8)
- word (1)
- 敏捷开发 (1)
- sybase (4)
- Nexus (3)
- EhCache (3)
- log4j (3)
- Cookie (4)
- Session (4)
- CXF (7)
- AXIS (2)
- SSO (1)
- LDAP (1)
- velocity (2)
- Jquery (5)
- redis (2)
- http (4)
- dojo (1)
- Linux资源监控软件mnon的安装与运用 (1)
- notepad++ (1)
- EA (1)
- UML (1)
- JasperReports (1)
- 权限 (0)
- freemarker (4)
- Spring MVC (1)
- JMS (1)
- activeMQ (1)
- hession (3)
- 安全 (1)
- ibatis (2)
- log (1)
- nginx (1)
最新评论
-
winhbb:
我刚好遇到了一个问题(在可以依赖注入的场合有效):有两个模块A ...
解决Maven项目相互依赖/循环依赖/双向依赖的问题 -
nanjiwubing123:
long3ok 写道你好 XmlOutputFormatter ...
用XStream转换复杂XML -
zhoujianboy:
另外一个方法实现eclipse tomcat 热部署:http ...
eclipse下实现maven项目在tomcat容器热部署方法 -
long3ok:
你好 XmlOutputFormatter 请问这个类是在什么 ...
用XStream转换复杂XML -
ganbo:
总结的好,文章给力。
解决Maven项目相互依赖/循环依赖/双向依赖的问题
--创建一个类型
CREATE OR REPLACE TYPE Project IS OBJECT (
project_no NUMBER(2),
title VARCHAR2(35),
cost NUMBER(7,2))
--创建一个集合
CREATE OR REPLACE TYPE ProjectList is table of Project
-- Created on 2011-10-11 by HUCHANGKUN
declare
-- Local variables here
i integer;
V_LIST projectlist := projectlist();
V_PRO project :=project(NULL,NULL,NULL);
begin
--为集合增加元素
FOR I IN 1 ..4 LOOP
V_PRO.project_no := I;
V_PRO.title := I||' TITLE';
V_PRO.cost := I;
V_LIST.EXTEND;
V_LIST(V_LIST.COUNT):=V_PRO;
END LOOP;
--从集合中取元素
DBMS_OUTPUT.put_line(V_LIST.COUNT);
DBMS_OUTPUT.put_line(V_LIST(V_LIST.FIRST).project_no);
DBMS_OUTPUT.put_line(V_LIST(V_LIST.LAST).project_no);
end;
--注意project(I,I||' TITLE',I);
-- Created on 2011-10-11 by HUCHANGKUN
declare
-- Local variables here
i integer;
V_LIST projectlist := projectlist();
--V_PRO project :=project(NULL,NULL,NULL);
begin
-- Test statements here
FOR I IN 1 .. 8 LOOP
--V_PRO.project_no := I;
--V_PRO.title := I||' TITLE';
--V_PRO.cost := I;
V_LIST.EXTEND;
V_LIST(V_LIST.COUNT) := project(I,I||' TITLE',I);
END LOOP;
DBMS_OUTPUT.put_line(V_LIST.COUNT);
DBMS_OUTPUT.put_line(V_LIST(V_LIST.FIRST).project_no);
DBMS_OUTPUT.put_line(V_LIST(V_LIST.LAST).project_no);
end;
【注意】
create type zjj as object (n number);
这个可以建立一个数据的类型对象,以后可以在其他地方引用,
而type zjj is record仅仅是声明一种类型,只能在存储过程里面使用
create table zjj1 of zjj 这个用法是有的
CREATE OR REPLACE TYPE Project IS OBJECT (
project_no NUMBER(2),
title VARCHAR2(35),
cost NUMBER(7,2))
--创建一个集合
CREATE OR REPLACE TYPE ProjectList is table of Project
-- Created on 2011-10-11 by HUCHANGKUN
declare
-- Local variables here
i integer;
V_LIST projectlist := projectlist();
V_PRO project :=project(NULL,NULL,NULL);
begin
--为集合增加元素
FOR I IN 1 ..4 LOOP
V_PRO.project_no := I;
V_PRO.title := I||' TITLE';
V_PRO.cost := I;
V_LIST.EXTEND;
V_LIST(V_LIST.COUNT):=V_PRO;
END LOOP;
--从集合中取元素
DBMS_OUTPUT.put_line(V_LIST.COUNT);
DBMS_OUTPUT.put_line(V_LIST(V_LIST.FIRST).project_no);
DBMS_OUTPUT.put_line(V_LIST(V_LIST.LAST).project_no);
end;
--注意project(I,I||' TITLE',I);
-- Created on 2011-10-11 by HUCHANGKUN
declare
-- Local variables here
i integer;
V_LIST projectlist := projectlist();
--V_PRO project :=project(NULL,NULL,NULL);
begin
-- Test statements here
FOR I IN 1 .. 8 LOOP
--V_PRO.project_no := I;
--V_PRO.title := I||' TITLE';
--V_PRO.cost := I;
V_LIST.EXTEND;
V_LIST(V_LIST.COUNT) := project(I,I||' TITLE',I);
END LOOP;
DBMS_OUTPUT.put_line(V_LIST.COUNT);
DBMS_OUTPUT.put_line(V_LIST(V_LIST.FIRST).project_no);
DBMS_OUTPUT.put_line(V_LIST(V_LIST.LAST).project_no);
end;
【注意】
create type zjj as object (n number);
这个可以建立一个数据的类型对象,以后可以在其他地方引用,
而type zjj is record仅仅是声明一种类型,只能在存储过程里面使用
create table zjj1 of zjj 这个用法是有的
发表评论
-
Oracle强制使用索引
2013-01-25 16:48 5372Oracle强制使用索引: select /*+ INDEX ... -
Oracle if exists(...)
2013-01-22 10:52 1286对于Oracle中没有 if exists(...) 的语法, ... -
oracle 赋debug权限
2013-01-15 15:29 4088pl/sql 报错 不能运行debug 时 ora-0131 ... -
Oracle 10g使用游标更新或删除数据
2013-01-04 16:03 1122在定义又表示必须要带 ... -
oracle 的 CONNECT BY 和START WITH
2013-01-04 15:00 1390在SELECT命令中使用CONNECT BY 和START W ... -
树-Oracle用Start with...Connect By子句递归查询
2013-01-04 14:59 1066Start with...Connect By子句递归查询一般 ... -
java.sql.SQLException: ORA-01436: 用户数据中的 CONNECT BY 循环
2013-01-04 14:55 2407SELECT r1.region_id,parent_id ... -
Oracle创建删除用户、角色、表空间、导入导出、...命令总结
2013-01-03 16:24 1306//创建临时表空间 create temporary ta ... -
ResultSet.getMetaData() 的使用
2012-08-12 11:22 2142java.sql.ResultSet.getMetaData( ... -
ORACLE中如何查找特定对象中的文本内容~
2012-04-30 19:37 1279[c-sharp] view plaincopy SQL> ... -
Oracle 下读取表/字段的备注信息
2012-04-30 19:19 1225Oracle 通过COMMENT ON TABLE / C ... -
nls_sort和nlssort 排序功能介绍
2012-04-23 23:20 11186ALTER SESSION SET NLS_SORT=''; ... -
Oracle 递归查询 树查询 start with connect by prior
2012-02-28 09:52 1128网页地址: http://www.iteye.com/topi ... -
java中oracle特殊字符的查询
2011-10-18 14:38 2421escape:指定某字符为特殊字符: 例如指定‘\’ 为特殊字 ... -
Oracle中的 单引号 和 双引号
2011-10-18 09:17 1319双引号的作用是:假如建立对象的时候,对象名、字段名加双引号,则 ... -
pl/sql case or decode
2011-10-16 00:19 1119SELECT CASE 3 WHEN 1 THEN ... -
Oracle存储过程返回游标 [转载]
2012-04-22 22:09 4675有俩种方法: 一种是声明系统游标,一种是声明自定义游标,然后 ... -
oracle索引表函数(集合函数)(下表为字符串的索引表举例红色)(嵌套表/索引表/可变数组举例绿色)
2011-10-12 11:40 0一、EXISTS函数 1、检测 ... -
pl/sql 集合代码 的遍历方式
2011-10-12 10:22 1518-- Created on 2011-10-12 by HUC ... -
浅谈oracle复合数据类型
2012-04-22 22:10 1016--本文档可以直接拷贝运行。 /* oracle复合数 ...
相关推荐
6. **复合类型**:PL/SQL支持数组、集合和记录等复合类型,这些使得处理复杂数据结构变得可能。手册会详细介绍这些类型的创建和使用。 7. **包(Packages)**:包是将相关的过程、函数和变量封装在一起的一种方式,...
- **记录和集合**:用于存储多条数据,可以是自定义类型的记录或标准的PL/SQL集合类型。 - **包**:封装相关的过程、函数和变量,提供模块化的代码组织。 学习PL/SQL不仅有助于你更好地管理Oracle数据库,还能提升...
此外,PL/SQL还支持集合类型,如VARRAY(可变数组)和TABLE(表类型),这对于处理大量数据非常有用。 这本书的配套源代码可能会涵盖以下几个方面: 1. **基础操作**:包括简单的SQL查询、变量声明、流程控制...
PL/SQL软件包是一组相关的过程和函数的集合,它可以用来组织和管理程序。软件包由两部分组成,说明部分和包体部分,分别用于声明公共接口和实现逻辑。 异常处理在PL/SQL中用来处理程序运行时发生的错误。PL/SQL预定...
- **集合与记录**:学习如何使用PL/SQL中的集合和记录类型,这些结构可以帮助更高效地处理数据集。 - **游标**:介绍游标的使用方法,包括隐式游标和显式游标,以及如何利用游标遍历查询结果。 #### 四、PL/SQL中的...
- **程序包**:集合了一系列相关的子程序、类型定义和其他PL/SQL元素,便于管理和复用。 **2.3 标识符规则** PL/SQL中的标识符遵循以下规则: - 标识符长度不能超过30个字符。 - 第一个字符必须是字母。 - 不区分...
* 包:是一组相关的 PL/SQL 程序块的集合。 * 触发器:是一种特殊的存储程序,用于自动执行某些操作。 定义函数的语法: CREATE [OR REPLACE] FUNCTION function_name [(argument [IN|OUT|IN OUT] datatype)] ...
2. **复合数据类型**:介绍PL/TABLE、记录类型(%ROWTYPE)以及集合类型(VARRAY和NESTED TABLE),这些都是处理大量数据或构建复杂数据结构的关键工具。 3. **游标**:讲解如何使用显式和隐式游标进行查询和遍历...
5. **集合类型**:包括数组(PLS_INTEGER索引的PL/SQL表)和关联数组(索引由非数字类型的值定义),以及如何在集合中插入、删除和迭代元素。 6. **包(PACKAGE)**:创建和使用包来组织相关的过程和函数,实现模块...
5. **数据操作**:除了标准的SQL查询,PL/SQL还支持集合操作,如BULK COLLECT和FORALL,可以高效地处理大量数据。 6. **游标**:PL/SQL中的游标允许逐行处理查询结果,是处理复杂数据操作的重要工具。 7. **记录...
5. **过程与函数**:过程是一组PL/SQL语句的集合,用于执行特定任务。函数与过程类似,但返回一个值。它们可以提高代码的复用性和模块化。 6. **异常处理**:PL/SQL提供了一个强大的异常处理机制,允许你定义和捕获...
5. **集合类型**:讨论PL/SQL中的集合类型,如数组、关联数组、表类型和索引表,以及它们在处理大量数据时的优势。 6. **包(PACKAGE)**:解释如何创建和使用包,包括包规范(PACKAGE SPECIFICATION)和包体...
- 表类型:使用PL/SQL表类型进行集合操作。 -记录类型:定义和使用记录类型,类似于结构或对象。 5. **程序单元**: - 包(PACKAGE):定义公共接口和私有实现,提高代码复用性。 -存储过程和函数:创建存储在...
2. 全面的数据类型支持:PL/SQL兼容所有SQL数据类型和Oracle对象类型。 3. 可存储与可重用:PL/SQL块可以被命名并存储在数据库中,便于重复使用,并可通过任何客户/服务器工具访问。 4. 安全性:可以通过Oracle数据...
《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...
3. **集合和游标**:集合是PL/SQL中处理多行数据的有效工具,如VARRAYs(固定大小数组)和associative arrays(关联数组)。游标则允许我们一行一行地处理查询结果,是处理动态数据的重要手段。 4. **存储过程和...
2. **变量和数据类型**:PL/SQL支持多种内置数据类型,如NUMBER、VARCHAR2、DATE等,以及PL/SQL特有的记录和集合类型。 3. **流程控制语句**:包括IF-THEN-ELSIF-ELSE、CASE、FOR循环、WHILE循环等,用于控制程序的...
7. SQL优化:解释PL/SQL代码的优化方法,例如编写高效的SQL语句、使用PL/SQL集合类型减少数据库I/O操作等。 8. 安全性:包括PL/SQL代码的安全性、如何在代码中处理敏感信息以及如何在Oracle数据库中管理PL/SQL代码的...
复合类型包括记录类型和集合类型,其中集合类型又包括数组和表。参考类型是记录的引用,用于在PL/SQL程序中操作数据库表中的行。 PL/SQL支持多种流程控制语句,包括条件语句(如IF和CASE)以及循环语句(如FOR、...