摘要: 摘录自:http://www.cnblogs.com/pinbo/ 前几天做了用oracle写对表增加,修改时的触发器,触发器内容为每日生成本地文本文件,文件内容为增加、修改表的数据,以便自动上传到服务器上同步数据。首先要在本地建立生成文件的目录,这个目录可以设置成oracle的目录变量对应起来,而且要用管理员账号登录赋予对这个目录的读写权限,否则会报错,对目录或文件操作错误等信息;然后就可以写触发器了,思路为如果当天没有生成文件,即建立文件,并写入文件表头信息,下面紧跟着写数据信息,如果存在该文件,就直接写数据。 另外,查看和修改utl_file_dir参数命令,修改后要重新启动数据库。sh 阅读全文
posted @ 2011-02-18 09:56 马侃 阅读(4490) 评论(0) 推荐(0) 编辑
摘要: 1:Sql代码 以DDL语句为参数。   createprocedureanyddl(s1varchar2)as   cursor1integer;   begin   cursor1:=dbms_sql.open_cursor;   dbms_sql.parse(cursor1,s1,dbms_sql.v7);   dbms_sql.close_cursor(cursor1);   end;   /   SQL>executeanyddl('CREATETABLEMYTABLE(COL1NUMBER)');   PL/SQLproceduresuccessfullycompleted. 阅读全文
posted @ 2011-02-17 23:12 马侃 阅读(703) 评论(0) 推荐(0) 编辑
摘要: 我们知道,用户拥有的role权限在存储过程是不可用的。遇到这种情况,我们一般需要显式授权,如grant create table to usera;但这种方法太麻烦,有时候可能需要进行非常多的授权才能执行存储过程,实际上,oracle给我们提供了在存储过程中使用role权限的方法:修改存储过程,加入Authid Current_User时存储过程可以使用role权限。下面来举个例子: SQL> select * from v$version;BANNER----------------------------------------------------------------Orac 阅读全文
posted @ 2011-02-17 22:25 马侃 阅读(12949) 评论(0) 推荐(0) 编辑
摘要: 问:什么是NULL?答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零。ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:1、主键字段(primary key),2、定义时已经加了NOT NULL限制条件的字段说明: 1、等价于没有任何值、是未知数。2、NULL与0、空字符串、空格都不同。3、对空值做加、减、乘、除等运算操作,结果仍为空。4、NULL的处理使用NVL函数。5、比较时使用关键字用“is null”和“is not null”。6、空值不能被索引,所以查询时有些符合条件的数据可能查不出来,count(*) 阅读全文
posted @ 2011-01-12 09:30 马侃 阅读(4922) 评论(0) 推荐(1) 编辑
摘要: exp和imp的用法和介绍摘自:http://www.2umm.com/xxlr1.asp?id=15629 1、Export/Import的用处   Oracle Export/Import工具用于在数据库之间传递数据。   Export从数据库中导出数据到dump文件中Import从dump文件中到入数据导数据库中下面是一般使用他们的情况   (1)、两个数据库之间传送数据       同一个版本的oracle Server之间       不同版本的oracle Server之间       同种OS之间       不同种OS之间   (2)、用于数据库的备份和恢复   (3)、从一个 阅读全文
posted @ 2010-12-14 19:08 马侃 阅读(1523) 评论(0) 推荐(0) 编辑
摘要: 1、概念游标:从字面来理解就是游动的光标。用数据库语言来描述,游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了。将游标放置到某行后,即可对该行数据进行操作,最常见的操作是提取当前行数据。2、分类2.1、静态游标:显式游标、隐式游标2.2、动态游标:强类型(限制)、弱类型(非限制)3、属性3.1、%ISOPEN    判断游标是否被打开,若打开,则%ISOPEN等于TRUE;否则等于FALSE。3.2、%FOUND    判断游标所在行是否有效。若有效,则%FOUND等于TRUE;否则等于FALSE。3.3、%NOTFOUND   与%FOUND相似,功 阅读全文
posted @ 2010-12-10 18:33 马侃 阅读(10752) 评论(0) 推荐(1) 编辑
摘要: 对于oracle10g简单方法:1. 先建立一个物化视图,不用指明刷新参数,只要create materialized view,如CREATE MATERIALIZED VIEW mv_emp AS SELECT * FROM scott.emp;2. 建立一个用来刷新物化视图的存储过程,如CREATE OR REPLACE PROCEDURE auto_refresh_mview_job_p... 阅读全文
posted @ 2010-11-24 10:43 马侃 阅读(1078) 评论(0) 推荐(0) 编辑
摘要: 1、 REM REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。 例: REM 你现在看到的就是注解,这一句将不会被执行。 2、 ECHO ECHO 是一个回显命令主要参数有OFF和 ON,一般用ECHO message来显示一个特定的消息 。例: Echo off Rem 以上代表关闭回显即不显示所执行的命令 Echo 这个就是消息。 Rem 以上... 阅读全文
posted @ 2010-11-23 12:01 马侃 阅读(21210) 评论(0) 推荐(2) 编辑
摘要: Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。 语法: Sql代码 <analytic-function>(<argument>,<argument>,...) over( <query-partition-clause> <order-... 阅读全文
posted @ 2010-11-16 16:42 马侃 阅读(28013) 评论(0) 推荐(0) 编辑
摘要: 分析函数是Oracle从8.1.6开始引入的一个新的概念,为我们分析数据提供了一种简单高效的处理方式。在分析函数出现以前,我们必须使用自联查询,子查询或者内联视图,甚至复杂的存储过程实现的语句,现在只要一条简单的SQL语句就可以实现了,而且在执行效率方面也有相当大的提高。下面我将针对分析函数做一些具体的说明。分析函数的一般格式是函数名(参数列表) over ([partition by 字段名或表... 阅读全文
posted @ 2010-11-16 16:30 马侃 阅读(2065) 评论(0) 推荐(0) 编辑