posts - 177,comments - 176,trackbacks - 0
Oracle
Oracle数据库常用的操作命令      摘要: Oracle数据库常用的操作命令

常用的数据字典表:tab,user_tables,user_objects,user_catalog,user_constraints,user_cons_columns
1、视图在所有存储过程(数据字典表)中查询是否有某一字符串的SQL语句
select * from all_source where type='PROCEDURE' and lower(text) like '%student %'
select * from user_source where lower(text) like '%dbms_%'
select tname,cname,coltype,width from col where tname='STUDENT'  阅读全文
posted @ 2009-12-26 15:54 cheng 阅读(1119) | 评论 (1)  编辑
Oracle的imp脚本      摘要: Oracle的导入实用程序(Import utility)允许从数据库提取数据,并且将数据写入操作系统文件。
imp使用的基本格式:imp[username[/password[@service]]],以下例举imp常用用法。
1. 获取帮助
imp help=y
2. 导入一个完整数据库
imp system/manager file=bible_db log=dible_db full=y ignore=y
3. 导入一个或一组指定用户所属的全部表、索引和其他对象
imp system/manager file=seapark log=seapark fromuser=seapark imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)
  阅读全文
posted @ 2009-09-14 19:22 cheng 阅读(691) | 评论 (0)  编辑
oracle 字符集的参数nls_lang      摘要: oracle 字符集的参数 nls_lang

nls_lang
1. NLS_LANG 参数组成
NLS_LANG参数由以下部分组成:
NLS_LANG=_.
NLS_LANG各部分含义如下:
LANGUAGE指定:
  阅读全文
posted @ 2009-07-17 21:07 cheng 阅读(1337) | 评论 (1)  编辑
SQLServer和Oracle常用函数对比      摘要: 常用的SQL函数,借鉴一些,补充一些。虽然现在一直在Oracle下开发,实践中SQLServer也接触过些许。将以前的一些记忆整理出来,先贴为快。  阅读全文
posted @ 2009-03-19 22:00 cheng 阅读(1780) | 评论 (1)  编辑
各个数据库的分页算法      摘要: 1.SQL SERVER 是用先逆序再正序的方法

select top 3 * from (select top 9 * from mvc_book order by bid) as s order by s.bid desc [第6,5,4条]

select * from (select top 3 * from (select top 6 * from mvc_book order by bid) as s order by s.bid desc) as s1 order by s1.bid [第4,5,6条]

select top 6 * from mvc_book where (bid not in (select top 2 bid from mvc_book))[第3,4,5,6,7,8条]
  阅读全文
posted @ 2009-01-30 20:36 cheng 阅读(983) | 评论 (0)  编辑
JDBC事务问题      摘要: 事务,在管理类系统中是一个非常重要的概念和技术点,几乎涉及到数据的业务都会考虑事务的操作性。现在主流的框架中有很多事务管理器已经帮我们做好了底层的支持,我们关心的是业务层面的事务逻辑控制,但很多时候我们也应该清楚事务在jdbc层面控制的思路和原理,这样才能更好的帮助我们来理解它并应用它。例如:为了解决与“多个线程请求相同数据”相关的问题,事务之间用锁相互隔开。多数主流的数据库支持不同类型的锁;因此,JDBC API 支持不同类型的事务,它们由 Connection 对象指派或确定...  阅读全文
posted @ 2008-08-31 21:19 cheng 阅读(716) | 评论 (1)  编辑
PLSQL中显式Cursor、隐式Cursor、动态Ref Cursor      摘要: PLSQL开发过程中,对于集合数据的处理,在sql的批量insert,update,delete操作下,我们还会经常用到游标。
对于游标的用法,用过的朋友都比较熟悉。此文中主要是对其分类以及各自用法做个小结。对于动态游标,静态游标各自的特点以及应用场景以及什么情况下用什么类型游标最优等等话题进行讨论和分析。  阅读全文
posted @ 2008-07-31 19:04 cheng 阅读(6939) | 评论 (1)  编辑
PLSQL开发笔记和小结      摘要: wap项目需要和管理平台对接,近期一直在编写接口机存储过程,流程涵盖我们平台的大部分对象(SP,业务,产品,套餐,以及map关系表:产品与套餐,业务与业务类别,业务与栏目,业务类别与栏目等等)。于是趁开发联调完毕之际,总结一下以前写过的过程以及编写过程中需要的一些注意点,同时也参考CSDN上大牛们总结的一些精髓并吸收之,呵。  阅读全文
posted @ 2008-07-19 21:38 cheng 阅读(34691) | 评论 (14)  编辑
DBA在系统设计和开发中的工作范畴      摘要: 许多应用系统的性能并不理想,或者系统数据会出现一些难以重现的奇怪的错误,这些问题(尤其是性能问题)有时并不是在系统初期就会体现出来,但是随着系统的运行、数据的增多而逐步变得难以解决,给系统后期的功能扩展和用户使用上带来了不少麻烦,造成这些问题的原因,往往体现了一点:开发、设计这些系统的人不了解数据库!  阅读全文
posted @ 2008-06-29 08:38 cheng 阅读(420) | 评论 (0)  编辑
Oracle 的SQL*LOADER      摘要: Oracle 的SQL*LOADER可以将外部数据加载到数据库表中。下面是SQL*LOADER的基本特点:
1.1 功能
1)能装入不同数据类型文件及多个数据文件的数据
2)可装入固定格式,自由定界以及可度长格式的数据
3)可以装入二进制,压缩十进制数据
4)一次可对多个表装入数据
5)连接多个物理记录装到一个记录中
6)对一单记录分解再装入到表中  阅读全文
posted @ 2008-05-08 10:41 cheng 阅读(3130) | 评论 (0)  编辑
ORACLE Sequence      摘要: Sequence是数据库系统按照一定规则自动增加的数字序列。这个序列一般作为代理主键(因为不会重复),没有其他任何意义。
Sequence是数据库系统的特性,有的数据库有Sequence,有的没有。比如Oracle、DB2、PostgreSQL数据库有Sequence,MySQL、SQL Server、Sybase等数据库没有Sequence。  阅读全文
posted @ 2008-04-17 19:39 cheng 阅读(1678) | 评论 (0)  编辑
sqlplus命令收集      摘要: Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。

我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。 除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作报表。

下面就介绍一下一些常用的sql*plus命令:  阅读全文
posted @ 2008-03-07 17:00 cheng 阅读(705) | 评论 (0)  编辑
Oracle的悲观锁和乐观锁      摘要: 为了得到最大的性能,一般数据库都有并发机制,不过带来的问题就是数据访问的冲突。为了解决这个问题,大多数数据库用的方法就是数据的锁定。
数据的锁定分为两种方法,第一种叫做悲观锁,第二种叫做乐观锁。什么叫悲观锁呢,悲观锁顾名思义,就是对数据的冲突采取一种悲观的态度,也就是说假设...
  阅读全文
posted @ 2008-01-25 15:40 cheng 阅读(6831) | 评论 (0)  编辑
Like SQL语句的优化      摘要: Like SQL语句的优化的一点测试
1.尽量不要使用 like '%..%'
2.对于 like '..%..' (不以 % 开头),Oracle可以应用 colunm上的index
3.对于 like '%...' 的 (不以 % 结尾),可以利用reverse + function index 的形式,变化成 like '..%'  阅读全文
posted @ 2008-01-23 15:58 cheng 阅读(3769) | 评论 (2)  编辑
ORACLE批量更新三种方法比较      摘要: 昨天在网上看到一篇关于大数据量下的批量update操作的总结文章,写得很好,在此传载,和大家共享下。

在大型的数据库应用中,我们经常会有针对表与表之间的关键建进行字段更新,那么在这个时候,我们就不能写简单的update来实现更新操作,而要针对具体的数据量来进行批量的update,下面几个例子是常用的SQL,将其做个对比,欢迎大家提出更好更高效的SQL实现。  阅读全文
posted @ 2007-12-28 20:11 cheng 阅读(8717) | 评论 (0)  编辑
Oracle中的动态SQL      摘要: 一般的PL/SQL程序设计中,在DML和事务控制的语句中可以直接使用SQL,但是DDL语句及系统控制语句却不能在PL/SQL中直接使用,要想实现在PL/SQL中使用DDL语句及系统控制语句,可以通过使用动态SQL来实现。  阅读全文
posted @ 2007-12-17 17:22 cheng 阅读(6972) | 评论 (0)  编辑
Oracle中的rownum和rowid      摘要: 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<、<=、!=),并非说用>,>=,=,between..and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来,其实您只要理解好了这个 rownum 伪列的意义就不应该感到惊奇。

rowid与rownum 虽都被称为伪列,但它们的存在方式是不一样的,rowid 可以说是物理存在的,表示记录在表空间中的唯一位置ID,在DB中是唯一的。只要记录没被搬动过,rowid是不变的。rowid 相对于表来说又像表中的一般列,所以以 rowid 为条件就不会有rownum那些莫名其妙的结果出现。
  阅读全文
posted @ 2007-12-11 19:21 cheng 阅读(6724) | 评论 (4)  编辑
Oracle字符集问题      摘要: 对于Oracle字符集问题,出差期间在测试csp项目时候遇到过字符编码的问题.
具体情况:Oracle客户端字符编码与服务器端不一致,导致用PL/SQL连数据库时select表数据出现乱码情况.
部署环境:客户端是windows,其上安装pl/sql,服务器端为suse linux其上部署Oracle服务器端 .
后经过分析,定位到了winwods注册表中的NLS_LANG键值的编码集的原因.
后网上搜寻相关文章,觉得这篇文章写得总结性比较强,于是在此传载,和大家分享下.  阅读全文
posted @ 2007-12-05 19:54 cheng 阅读(2349) | 评论 (0)  编辑