oracle
lorry1113
这个作者很懒,什么都没留下…
展开
-
触发器
触发器有两种after和before,区别在于每次提交事务触发一次和每一行数据的更新都触发一次,使用时候要注意,以免达不到目的ORACLE产生数据库触发器的语法为:create [or replace] trigger 触发器名 触发时间 触发事件on 表名[for each row]pl/sql 语句其中:触发器名:触发器对象的名称。由于触...原创 2009-11-10 18:08:11 · 57 阅读 · 0 评论 -
ArcSDE系统表的说明
当基于Oracle或是SQL Server安装ArcSde后,一般会生成十几张以GDB_开头的系统表,这些表一般为SDE中数据信息的描述,以下为本人对其中几张主要表的一点理解:1、GDB_ObjectClasses表:记录所有SDE中注册过的普通表、FeatureClass,一般包括Name和ID字段,Name为在ArcCatalog中所看到的名字,ID为唯一标识,以后关于此对象的所有数据...原创 2010-02-01 17:09:05 · 428 阅读 · 0 评论 -
oracle中用START WITH...CONNECT BY PRIOR子句实现递归查询
今天发现在oracle中的select语句可以用START WITH...CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是:select ... from tablename start with cond1connect by cond2where cond3;简单说来是将一个树状结构存储在一张表里,比如一个表中存...原创 2010-05-26 11:24:34 · 125 阅读 · 0 评论 -
oracle 存储过程的基本语法
1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGINEND 存储过程名字2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存...原创 2010-11-05 15:59:56 · 77 阅读 · 0 评论 -
oracle sql 优化
[color=darkred][b]Oracle SQL的优化规则:[/b] [/color][b]尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替 [/b] 用IN写出来的SQL的优点是比较容易写及清晰易懂,但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: ORACLE 试图将...原创 2011-06-07 15:53:37 · 85 阅读 · 0 评论 -
查看一个函数被哪些存储过程调用
查看一个函数被哪些存储过程调用:select * from USER_SOURCE A where A.TEXT like '%F_PINYIN%'原创 2011-02-28 14:37:16 · 370 阅读 · 0 评论 -
Oracle 常用SQL技巧
1. SELECT子句中避免使用 “*” 当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 ‘*’ 是一个方便的方法.不幸的是,这是一个非常低效的方法. 实际上,ORACLE在解析的过程中, 会将“*” 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间. 2.使用DECODE函数来减少处理时间 使用DECO...原创 2010-11-24 17:44:14 · 47 阅读 · 0 评论 -
oracle 设置SGA
[code="java"]SQL> show parameter sga;NAME TYPE VALUE------------------------------------ ----------- ------------------------------lock_sga ...原创 2013-03-14 11:12:16 · 170 阅读 · 0 评论 -
两个经典的Oracle触发器示例 .
[b] 【案例一】[/b]题目:--触发器:--添加员工信息,流水号作为自动编号(通过序列生成),--并且判断如果工资小于0,则改为0;如果大于10000,则改为10000。CREATE TABLE emp2(e_id NUMBER,e_no NUMBER,e_name VARCHAR2(20),e_sal NUMBER)SELECT * FRO...原创 2012-03-23 11:48:54 · 90 阅读 · 0 评论 -
oracle 触发器
触发器是指存放在数据库中,并被隐藏执行的存储过程。在Oracle8i之前,只允许基于表或视图的DML操作(insert,update,delete)建立触发器,在oracle8i之后,不仅支持DML操作,也允许基于系统事件(启动数据库,关闭数据库,登录)和DDL操作建立触发器。 [b]一、触发器简介 [/b] 触发器是指隐含执行的存储过程,它可以使用PL/SQL,java和C进行开发,...原创 2012-03-23 13:11:55 · 99 阅读 · 0 评论 -
oracle存储过程,游标及循环应用实例
最近在项目中做了一个关于系统与系统之间数据同步的业务,之前使用jndi远程调用的方式实现了这个同步功能,但总是感觉速度很慢,而且很不稳定,现将其修改成dblink+存储过程方式,特对存储过程及游标做了相应学习,此处主要记录游标及循环的不同使用方法: 第一种方式: FOR ... IN .....LOOP....END LOOP [code="java"]CREATE OR R...原创 2010-07-21 14:45:59 · 163 阅读 · 0 评论 -
(转)Oracle常用数据字典的查询使用方法
查看当前用户的缺省表空间SQL>select username,default_tablespace from user_users;查看当前用户的角色SQL>select * from user_role_privs;查看当前用户的系统权限和表级权限SQL>select * from user_sys_privs;SQL>select * from...原创 2010-01-14 16:40:44 · 95 阅读 · 0 评论 -
(转)PL/SQL存储过程编程
PL/SQL存储过程编程(上)1. Oracle应用编辑方法概览答:1) Pro*C/C++/... : C语言和数据库打交道的方法,比OCI更常用;2) ODBC3) OCI: C语言和数据库打交道的方法,和ProC很相似,更底层,很少用;4) SQLJ: 很新的一种用Java访问Oracle数据库的方法,会的人不多;5) JDBC6) PL/SQL: 存储在数据...原创 2010-01-14 16:34:08 · 95 阅读 · 0 评论 -
通过一个实际的例子学习Oracle存储过程
--创建存储过程CREATE OR REPLACE PROCEDURE xxxxxxxxxxx_p(--参数IN表示输入参数,OUT表示输入参数,类型可以使用任意Oracle中的合法类型。 is_ym IN CHAR)AS--定义变量 vs_msg VARCHAR2(4000); --错误信息变量 vs_ym_beg CHAR(6); --...原创 2009-11-10 18:10:10 · 66 阅读 · 0 评论 -
oracle 字段类型
Char 用于描述定长的字符型数据,长度原创 2009-11-13 16:49:24 · 91 阅读 · 0 评论 -
Oracle存储过程可以有无参数存储过程和带参数存储过程。
一、无参程序过程语法1 create or replace procedure NoParPro2 as ;3 begin4 ;5 exception //存储过程异常6 ;7 end;8 二、带参存储过程实例 1 create or replace procedure queryempname(sfindno ...原创 2009-05-26 18:13:58 · 175 阅读 · 0 评论 -
oracle 优化
Oracle的优化器有两种优化方式,即基于规则的优化方式(Rule-Based Optimization,简称为RBO)和基于代价的优化方式(Cost-Based Optimization,简称为CBO),在Oracle8及以后的版本,Oracle强列推荐用CBO的方式 RBO方式:优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则。比如我们常见的,当一个where子句中...原创 2009-11-25 15:36:56 · 63 阅读 · 0 评论 -
数据库设计
说到数据库,我认为不能不先谈数据结构。1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法。尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同8年前老师的告诉我们的公式:计算机程序=数据结构+算法。面向对象的程序开发,要做的第一件事就是,先分析整个程序中需处理的数据,从中提取出抽象模板,以这个抽象模板设计类,再在其中逐步添加处理其数据...原创 2009-12-23 10:07:14 · 76 阅读 · 0 评论 -
数据库设计5步骤
数据库设计5步骤 1.确定entities及relationshipsa)设计宏观行为。你用此数据库来做什么?比如,希望管理雇员的信息。b)确定entities。对于一系列的行为,确定所管理信息所涉及到的主题范围。这将变成table。比如,雇用员工,指定具体部门,确定技能等级。c)确定relationships。看着行为,确定tables之间有何种关系。...原创 2009-12-23 16:43:46 · 74 阅读 · 0 评论 -
toad使用
一.Toad功能综述二.系统需求三.安装指南四.快速入门 1.Schema browser的用法简介 2.SQ Editor的使用介绍 3.Procedure Editor的用法介绍 4.如何进行PLSQL的debug 5.如何使用SQLab Xpert优化SQL 6.如何使用SQ Modeler来编写查询 7.如何...原创 2009-07-16 11:50:21 · 173 阅读 · 0 评论 -
oracle 分页语句
select * from (select a.*, rownum r from (select * from lg_order o order by o.order_id) a where rownum = 10select * from (select rid from (select rownum rn, r...原创 2010-01-06 17:28:32 · 62 阅读 · 0 评论 -
(转)hibernate中是否支持postgis函数的问题
今天上午一位朋友问到了,关于hibernate中是否支持postgis函数的问题 :wink: ,我就这个问题,随便聊几句。要想使用hibernate的空间数据操作,就要提到一个概念 java Topology Suite (字面上理解就是 空间拓扑的意思,简称JTS,注意:过需要声明一点,本文中的JTS与进行java事务处理的JTS、JTA没有联系).HIBERNATE中...原创 2010-01-13 16:08:37 · 105 阅读 · 0 评论 -
oracle sequence
create or replace procedure p_createseq(tablename in varchar2)isstrsql varchar2(500);beginstrsql:='create sequence seq_'||tablename||' minvalue 1000 maxvalue 99999999 start with 1000 increment...原创 2012-03-23 13:35:38 · 82 阅读 · 0 评论