- 浏览: 252381 次
- 性别:
- 来自: 北京
-
最新评论
-
Orc3Ming:
哦,脚本的解释路径,不是注释。
RHEL6.4更改为CentOS6.4的yum源 -
Orc3Ming:
将第一行 #!/usr/bin/python 修改为 #!/u ...
RHEL6.4更改为CentOS6.4的yum源 -
anniecharlotte:
请问:如果登录某个节点
执行nodetool ring查看集群 ...
Cassandra集群 -
Q_Qkings8:
给了我好的提示,已经成功的解决了问题
Eclipse Debug Source not found for -
kevin.wang:
feijin1981 写道我也有同样的问题,但是Window ...
Eclipse Debug Source not found for
文章列表
一 Pro*C 程序概述: 1.什么是Pro*C程序 在ORACLE数据库管理和系统中, 有三种访问数据库的方法; (1) 用SQL*Plus, 它有SQL命令以交互的应用程序访问数据库; (2) 用第四代语言应用开发工具开发的应 ...
REF CURSOR 小结
利用REF CURSOR,可以在程序间传递结果集(一个程序里打开游标变量,在另外的程序里处理数据)。
也可以利用REF CURSOR实现BULK SQL,提高SQL性能。
REF CURSOR分两种,Strong REF CURSOR 和 Weak REF CURSOR。
Strong REF CURSOR:指定retrun type,CURSOR变量的类型必须和return type一致。
DECLARE
TYPE strongcurtyp IS REF CURSOR RETURN emp%ROWTYPE;
emp_cv strongcurtyp;
Weak REF ...
通常我们获取游标数据是用 fetch some_cursor into var1, var2 的形式,当游标中的记录数不多时不打紧。然而自 Oracle 8i 起,Oracle 为我们提供了 fetch bulk collect 来批量取游标中的数据。它能在读取游标中大量数据的时候提高效率,就像 SNMP 协议中,V2 版比 V1 版新加了 GET-BULK PDU 一样,也是用来更高效的批量取设备上的节点值。
fetch bulk collect into 的使用格式是:fetch some_cursor collect into col1, col2 limit xxx。col1、co ...
1 DECLARE
2 TYPE NumTab IS TABLE OF NUMBER(4) INDEX BY BINARY_INTEGER;
3 TYPE NameTab IS TABLE OF CHAR(15) INDEX BY BINARY_INTEGER;
4 pnums NumTab;
5 pnames NameTab;
6 t1 NUMBER(5);
7 t2 NUMBER(5);
8 t3 NUMBER(5);
9
10
11 BEGIN
12 FOR j IN 1..5000 ...
一. 什么是记录(Record)?
由单行多列的标量构成的复合结构。可以看做是一种用户自定义数据类型。组成类似于多维数组。
将一个或多个标量封装成一个对象进行操作。是一种临时复合对象类型。
记录可以直接 ...
功能:
1、 允许/限制对表的修改
2、 自动生成派生列,比如自增字段
3、 强制数据一致性
4、 提供审计和日志记录
5、 防止无效的事务处理
6、 启用复杂的业务逻辑
开始
create trigger biufer_employees_department_id
before insert or update
of department_id
on employees
referencing old as old_value
new as new_value
for each row
when (new_value.department_id<>80 ...
包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。
(1). 我们可以使用create package命令来创建包。
包的规范只包含了过程和函数的说明,但是没有过程和函数的实现代码。包体用于实现包规范中的过程和函数。
--创建一个包sp_package
--声明该包有一个过程update_sal
--声明该包有一个函数annual_income
create package sp_package is
procedure update_sal(name varchar2, newsal number);
function annual_income(name ...
函数用于返回特定的数据,当建立函数时,在函数头部必须包含return子句。而在函数体内必须包含return语句返回的数据。可以将经常需要进行的计算写成函数.函数的调用是表达式的一部分,而过程的调用是一条PL/SQL语句.
语法:
create [or replace] function fun_name ([para_name [in | out | in out) type, [para_name [in | out | in out) type[, ….]])
return type
is | as
声明部分
Begin
执行部分
...
SQL: 结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途径,而是简单地调用相应语句来直接取得结果即可。
PL/SQL(Procedural Language/SQL)是一种过程化语言,属于第三代语言,它与C、C++、Java等语言一样关注于处理细节,它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。它允许SQL的数据操纵语言和查询语句包含在块结构(bloc ...
“FOR UPDATE OF” 是“行锁”(locks on the row) -- 不存在字段加锁!
这“行锁”的作用
1.始于一个CURSOR 的OPEN时候,
2.终于一个完整的传送 -- COMMIT 或ROLLBACK,而不是CURSOR 的完结(CLOSE your_cursor_name) 。
3>.若有两个CURSOR 对同一“行”( ...
DECLARE
t_a VARCHAR2(50);
CURSOR cur_b(t_c VARCHAR2)IS SELECT d4.d401_02 FROM d401 d4 WHERE d4.d401_01 = t_c ;
BEGIN
OPEN cur_b('410126197904190319');
LOOP
FETCH cur_b INTO t_a ;
EXIT WHEN cur_b%NOTFOUND;
dbms_output.put_line(t_a);
END ...
对于普通数据库,主语言是面向记录的,一组主变量一次只能存放一条记录。
游标的优点
游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条SQL 选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,必须声明一个指向该结果集的游标。
游标允许应用程序对查询语句select 返回的行结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作;它还提供对基于游标位置而对表中数据进行删除或更新的能力;而 ...
如果可能,尽量利用一条SQL 语句完成工作。
如果无法用一条SQL 语句完成,就通过PL/SQL 实现(不过,尽可能少用PL/SQL!)。
如果在PL/SQL 中也无法做到(因为它缺少一些特性,如列出目录中的文件),可以试试使用
Java 存储过程来实现。
不过,有了Oracle9i 及以上版本后,如今需要这样做的可能性极小。
如果用Java 还办不到,那就在C 外部过程中实现。如果速度要求很高,或者要使用采用C编写的一个第三方API,就常常使用这种做法。
如果在C 外部例程中还无法实现,你就该好好想想有没有必要做这个工作了。
分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。分布式网络存储技术是将数据分散的存储于多台独立的机器设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系统的可靠性、可用性和扩展性。