随笔分类 - Oracle
摘要:LOB類型分為BLOB和CLOB兩種:BLOB即二進制大型對像(Binary Large Object),適用於存貯非文本的字節流數據(如程序、圖像、影音等)。而CLOB,即字符型大型對像(Character Large Object),則與字符集相關,適於存貯文本型的數據(如歷史檔案、大部頭著作等)。 下面以程序實例說明通過JDBC操縱Oracle數據庫LOB類型字段的幾種情況。先建立如下兩個測試用的數據庫表,Power Designer PD模型如下:建表SQL語句為:CREATE TABLE TEST_CLOB ( ID NUMBER(3), CLOBCOL CLOB)CREATE TA
阅读全文
摘要:Oracle的Blob字段比较特殊,他比long字段的性能要好很多,可以用来保存例如图片之类的二进制数据。写入Blob字段和写入其它类型字段的方式非常不同,因为Blob自身有一个cursor,你必须使用cursor对blob进行操作,因而你在写入Blob之前,必须获得cursor才能进行写入,那么如何获得Blob的cursor呢?这需要你先插入一个empty的blob,这将创建一个blob的cursor,然后你再把这个empty的blob的cursor用select查询出来,这样通过两步操作,你就获得了blob的cursor,可以真正的写入blob数据了。看下面的JDBC的demo,把orac
阅读全文
摘要:注意事项:1, 存储过程参数不带取值范围,in表示传入,out表示输出2, 变量带取值范围,后面接分号3, 在判断语句前最好先用count(*)函数判断是否存在该条操作记录4, 用select 。。。into。。。给变量赋值5, 在代码中抛异常用 raise+异常名以命名的异常命名的系统异常 产生原因ACCESS_INTO_NULL 未定义对象CASE_NOT_FOUND CASE 中若未包含相应的 WHEN ,并且没有设置ELSE 时COLLECTION_IS_NULL 集合元素未初始化CURSER_ALREADY_OPEN 游标已经打开DUP_VAL_ON_INDEX 唯一索引对应的列上有
阅读全文
摘要:1、什么是存储过程。存储过程是数据库服务器端的一段程序,它有两种类型。一种类似于SELECT查询,用于检索数据,检索到的数据能够以数据集的形式返回给客户。另一种类似于INSERT或DELETE查询,它不返回数据,只是执行一个动作。有的服务器允许同一个存储过程既可以返回数据又可以执行动作。2、什么时候需要用存储过程 如果服务器定义了存储过程,应当根据需要决定是否要用存储过程。存储过程通常是一些经常要执行的任务,这些任务往往是针对大量的记录而进行的。在服务器上执行存储过程,可以改善应用程序的性能。这是因为:.服务器往往具有强大的计算能力和速度。.避免把大量的数据下载到客户端,减少网络上的传输量。.
阅读全文
摘要:to_number函数也是oracle中常用的类型转换函数之一,是将一些处理过的按一定格式编排过的字符串变回数值型的格式。这里简单介绍了to_number的用法并给出了详细的例子。前面我们在介绍oracle的类型转换函数时介绍到了to_char函数,to_char函数有一个作用是将数值型的值按指定的格式转换为字符串类型的格式。这里的to_number那是就是将某些固定格式的字符转换为数值类型的值To_number函数的格式如下:To_number(varchar2 or char,’format model’)To_number函数中也有很多预定义的固定格式:9代表一个数字0强迫0显示$显示美
阅读全文
摘要:本人最近在使用oracle的rownum实现分页显示的时候,对rownum做了进一步的分析和研究。现归纳如下,希望能给大家带来收获。 对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀。举例说明:例如表:student(学生)表,表结构为:ID char(6) --学号name VARCHAR2(10) --姓名 create table student (ID char(6), name VARCHAR2(100));...
阅读全文
摘要:// 创建一个表CREATE TABLE Car(GUID NUMBER NOT NULL PRIMARY KEY,PhoneId Char(11) NOT NULL,UserName VarChar(20) NOT NULL);// 添加注释comment on table car is '定位信息用户表';Comment on column car.guid is '自增字段';Comment on column Car.PhoneId is '电话唯一标识';Comment on column Car.UserName is '用户
阅读全文
摘要:本来这是很简单的函数,但在屡次忘记格式之后,决定还是翻译一遍以铭记在心。参考<<Oracle Database SQL Reference>>.关于nls可有取值,请注意视图sys.V_$NLS_VALID_VALUES一 ,TO_CHAR(NUMBER)1.1 格式图和简单说明本函数把参数N转为一个VARCHAR2类型的数值。N可以是NUMBER,BINARY_FLOAT,或者BINARY_DOUBLE。如果不带格式,那么函数会把N转换为足以表示N的VARCHAR2字符串。格式表参考:序号格式简例说明1,(逗号)'9999,999'逗号,一般以千分位出
阅读全文
摘要:用eclipsepublic class Text { public static final void main(String args[]){ Connection con = null; try { //1,加载驱动程序 Class.forName("oracle.jdbc.driver.OracleDriver"); //2,连接字符串 String s = "jdbc:oracle:thin:@localhost:1521:shitou"; //3,获得数据库连接 con = DriverManager.getConnection(s,&quo
阅读全文
摘要:现在向 a和b 表中插入值 a(ID1, name,sex) b(ID2,ID1,Fraction)ID1,ID2 同为自动增长 ID1 为b表的外键参照a表的ID1点击保存后同时插入1、先创建a和b表的序列CREATE SEQUENCE SEQ_A;CREATE SEQUENCE SEQ_B;2、插入A表并返回A表当前IDv_id1 number(20);insert into a (ID1,name,sex)values(SEQ_A.NEXTVAL,name_value,sex_value) return ID1 into v_id1;3、插入B表insert into b (ID2,ID
阅读全文
摘要:TO_DATE格式(以时间:2007-11-02 13:45:25为例)Year: yy two digits 两位年 显示值:07yyy three digits 三位年 显示值:007yyyy four digits 四位年 显示值:2007Month: mm number 两位月 显示值:11mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov month spelled out 字符集表示 显示值:11月,若是英文版,显示november Day: dd number 当月第几天 显示值:02ddd number 当年第几天 显示值:02dy abbrev
阅读全文
摘要:添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….);修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….);删除字段的语法:alter table tablename drop (column);添加、修改、删除多列的话,用逗号隔开。使用alter table 来增加、删除和修改一个列的例子。创建表结构:create table test1(id varc
阅读全文
摘要:在Oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。 1、Create Sequence 你首先要有create sequence或者create any sequence权限 Sql代码 CREATE SEQUENCE SEQ_EMP INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXVALUE -- 不设置最大值 (MAXVALUE 99999999) NOCYCLE -- 一直累加,不循环 CACHE 10; --设置缓存CACHE个序列,如果系统DOWN掉了或...
阅读全文
摘要:1、创建表的同时创建主键约束(1)无命名 create table student ( studentid int primary key not null, studentname varchar(8), age int);(2)有命名 create table students ( studentid int , studentname varchar(8), age int, constraint yy primary key(studentid));2、删除表中已有的主键约束(1)无命名可用 SELECT * from user_cons_columns; 查找表中主键名称得stude
阅读全文

浙公网安备 33010602011771号