
Oracle
文章平均质量分 75
ivyldf
这个作者很懒,什么都没留下…
展开
-
Oracle中sequence的用法
创建表---》创建sequence---》创建trigger---》通过insert, select, update使用sequenceExample:1. create tableCREATE TABLE EXAMPLE( ID NUMBER(4) NOT NULL, NAME VARCHAR2原创 2013-08-20 16:03:28 · 855 阅读 · 0 评论 -
oracle中的sequence的概念及作用
sequence是用来在多用户环境下产生唯一整数的数据库对象。序列产生器顺序生成数字,它可用于自动生成主键值,并能协调多行或者多表的主键操 作。没有sequence,顺序的值只能靠编写程序来生成。先找出最近产生的值然后自增长。这种方法要求一个事务级别的锁,这将导致在多用户并发操作的环 境下,必须有人等待下一个主键值的产生。而且此方法很容易产生主键冲突的错误,如下图:time a......tr转载 2013-08-20 16:08:51 · 2067 阅读 · 0 评论 -
Oracle存储过程(一)基本概念及语法
一.概念什么是存储过程?商业规则和业务逻辑可以通过程序存储在Oracle中,这个程序就是存储过程。 存储过程是SQL, PL/SQL, Java 语句的组合,它使你能将执行商业规则的代码从你的应用程序中移动到数据库。这样的结果就是,代码存储一次但是能够被多个程序使用。权限操作权限建立存储过程create procedure原创 2013-08-22 16:09:12 · 1282 阅读 · 0 评论 -
Oracle存储过程(二)常见问题及备忘
1. 在Oracle中,数据表别名不能加as。如:select a.appname from appinfo a;-- 正确select a.appname from appinfo as a;-- 错误 也许,是怕和Oracle中的存储过程中的关键字as冲突的问题吧2. 在存储过程中,select某一字段时,后面必须紧跟into,如果select整个记录,利用游标的话就另当别原创 2013-08-22 16:40:34 · 773 阅读 · 0 评论 -
Oracle存储过程(三)用Java调用Oracle存储过程总结
一、 无返回值的存储过程测试表:-- Create tablecreate table TESTTB( ID VARCHAR2(30), NAME VARCHAR2(30))tablespace BOM pctfree 10 initrans 1 maxtrans 255 storage ( initi原创 2013-08-22 16:57:22 · 580 阅读 · 0 评论 -
oracle sql语句优化
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在 FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表 (intersection table转载 2013-08-23 13:58:56 · 850 阅读 · 0 评论 -
oracle 的for update行锁
SELECT...FOR UPDATE 语句的语法如下: SELECT ... FOR UPDATE [OF column_list][WAIT n|NOWAIT][SKIP LOCKED]; 其中: OF 子句用于指定即将更新的列,即锁定行上的特定列。 WAIT 子句指定等待其他用户释放锁的秒数,防止无限期的等待。 “使用FOR UPDATE WAIT”子句的转载 2013-09-02 09:58:47 · 856 阅读 · 0 评论