近期在做商旅机票平台,遇到这样一个问题:
有一张tt_ticket表,用来存机票信息。里边有一个字段叫schedule,表示的是行程,存储格式为:北京/虹桥
由于公司位于上海。而上海眼下有两个机场:浦东和虹桥。所以对于出发地或到达地为上海的机票来说,行程中会存虹桥或浦东,当然。有时候可能也会直接存上海(可能性非常小。但不代表没有)。这样,行程对于出发地为上海的行程来说。可能有下面几种可能:
a.虹桥/北京
b.浦东/北京 ...
oracle中extents特性:1:一个extent由相连的多个blocks组成,多个extents组成一个segment,2:oracle在为segment分配空间时,是以extent为单位因此extents带来的好处:1:空间分配、释放效率将会提升 oracle建议一个segment的extents数量一般不要超过1024,而对于big table可能包含上千万个block,如果没有extent,那么oracle就要分配上千万个block,而有了extent,只要分配上千个extents就行。extent表示大量的blocks效率很高...
引言: 在MyBatis中,希望在Oracle中插入数据之时,同时返回主键值,而非插入的条数...环境:MyBatis 3.2 , Oracle, Spring 3.2 SQL Snippet in XML Configuration:<insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"><selectKey resultType="java.math.BigDecimal" order="BEFORE" keyProperty="id">SELECT U_USER_INFO_SEQ.Nextval as ID from DUAL</selectKey>insert into U_USER_INFO<trim prefi...
1、主键的创建方法一:直接在sql语句中声明字段主键约束create table table_name (id type[length] constraint pk_name primary key,name tyoe[length],age type[length],class_id);方法二:alter更改表添加约束alter table table_name add constraint pk_name primary key (字段);删除:alter table table_name drop constraint contraint_name;重命名:alter table table_name rename constraint old_name to new_name;失效:alt...
定义set serveroutpu on是使oracle能够使用自带的输出方法
dbms_output.put_line(‘XX’);使用范围使用于PL/SQL COMMAND WINDOW,SQL PLUS中永久有效为了不需要每次都输入set serveroutput on 可以在Oracle安装目录下查下glogin.sql文件,并在文件中增加set serveroutput on即可。/*‘).addClass(‘pre-numbering‘).hide();$(this).addClass(‘has-numbering‘).parent().append($numbering);for (i = 1; i ‘).text(i));};$numb...
今天在使用PL/SQL的时候发现了tables下面有许多BIN开头的表,我以为是对数据库操作的过程中产生的临时表,就想给删除,可是用右键drop的时候,发现删除不了。经过调查,这是在使用drop table tablename命令时留下的垃圾信息.。drop删除表时做个一个备份,以防误删,个人觉得这是一个挺高大上的东西,就算是删除以后后悔了。还可以恢复回来。下边记录一下有关的命令操作,以便自己以后查阅 用来删除回收站中所有的表 : PURGE RECYC...
我们可以使用 Oracle Audit 函数来记录用户登录信息,但是如果开放了 Audit 函数将会使 Oracle 性能下降,甚至导致 Oracle 崩溃。那我们如何才能记录用户登录信息呢?其实我们可以通过建立触发器的方式来实现。方法如下:1. 用 sys 用户登录 Oracle2. 创建记录用户登录信息的表CREATE TABLE LOG$INFORMATION ( ID NUMBER(10), USERNAME VARCHAR2(30), LOGINTIME DATE, TERMINAL VARCHAR2(50), IPADRESS VA...
' title='SYS@ORCL>show' ref='nofollow'>SYS@ORCL>show parameter segmentNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation boolean TRUE
rollback_segments string
transactions_per_rollback_segment integer 5deferred_segment_creation参数,在11.2.0.4g才有的...
Oracle中对列加密的方法 2011-12-22 17:21:13分类: Linux Oracle支持多种列加密方式:1,透明数据加密(TDE):create table encrypt_col(id int,txt varchar2(100) encrypt using ‘算法名称‘ identified by ‘密钥‘ no salt);优点:对应用完全透明缺点:需要数据库管理员管理wallet,增加了管理复杂性,也无法避免数据库管理员查看原文。2,使用DBMS_CRYPTO包优点:只要应用程序保存好密钥,数据库管理员无法察看:测试:DECLARE i...
-----解析ip 地址
SQL> select utl_inaddr.get_host_address(‘google.com‘) from dual;
UTL_INADDR.GET_HOST_ADDRESS(‘GOOGLE.COM‘)
--------------------------------------------------------------------------------
122.229.30.202
-----获取本机IP地址
SQL> select utl_inaddr.get_host_address from dual;
GET_HOST_ADDRESS
--------------------------------------------------------------------------------
10.80.1...
转:http://chwshuang.iteye.com/blog/933926在开发的时候,经常要写条SQL语句将信息插入表中,插入的数据如果字段是date类型,就必须将date类型转换成字符串String类型在通过sql语句插入数据库。这是我字段唯一的方法,如果有高人请另赐教!我的解决方法是用oracle中的to_date()方法,具体看下面的例子 Oracle中插入date数据代码 insert into news(ID,MSG,SEND_TIME,TIMER) Oracle中插入date数据代码 values(20110101,‘你好...
SQL> SELECT KTUXEUSN, KTUXESLT, KTUXESQN, /* Transaction ID */
2 KTUXESTA Status, KTUXECFL Flags ,KTUXESIZ
3 FROM x$ktuxe
4 WHERE ktuxesta!=‘INACTIVE‘; KTUXEUSN KTUXESLT KTUXESQN STATUS FLAGS KTUXESIZ
---------- ---------- ---------- ---------------- ------------------------ ----------
13 5 47447 ACTIVE DEAD 2819919
39 0 502 ACTIVE NONE 1
43 45 480 ACTIVE NONE 0
SQL> / KTUXEUSN KTUXESLT K...
转:原文:http://blog.csdn.net/pojianbing/article/details/2789426 最近利用NHibernate映射类型为Clob字段在插入数据时发现当字符的字节数(一个半角字符一个字节,一个全角字符两个字节)在2000-4000之间时报错(ORA-01461:仅可以插入LONG列的LONG值赋值)。经过不断查找资料和自己的试验该问题终于得到解决,下边我将自己的心得给大家做一个分享。 准备系统环境 xp+.net2.0+oracle9i 表结构(由于是测试,表结构随便建了一...
初用Oracle,很多的不熟悉,建完库,没有建用户,也没创建表空间,就直接system用户建表添加数据,几个月过去,表建了近百个,数据添加了几万条,才越来越觉得这种方式缺点太多:在PL/SQL中系统表和用户表显示在一起,不是一般的乱;用户权限太大,而且也不好控制;没有独立的表空间,后期维护麻烦。 下定决心要改,初步想法是新建一个数据库B,创建用户和表空间,将原数据库A中的数据导过去,就可以了。导出没问题,导入碰到很多问...
表间的关系比较复杂,数据量又比较多,一个个删绝对会出大问题。于是实验了几种解决的办法,现小结一下。方法一:创建约束时设定级联删除(但一般由于各种原因或出于各种考虑在创建数据库时没有设定级联删除)SQL语句:复制代码 代码如下:CREATE TABLE "U_WEN_BOOK"."FARTAB" ("FAR_ID" NUMBER(10) NOT NULL,"FAR_NAME" VARCHAR2(10), "OTHER_NAME" VARCHAR2(10), CONSTRAINT "PK_FER" PRIMARY KEY("FAR_ID")) CREATE TABLE "U_WEN...