Oracle数据库
zjy30015563
这个作者很懒,什么都没留下…
展开
-
创建表空间
create tablespace news_tablespace datafile 'f:\oracle\news.dbf' size 100MB;原创 2012-03-26 18:12:26 · 218 阅读 · 0 评论 -
Oracle游标管理
--游标 --在PL/SQL中 内存中记录集合的指针,指向一行,提供逐行访问记录 --在初始状态下指向的是首记录 --游标的属性: %found %notfound %isopen %rowcount --Oracle 游标分为 显式游标和隐式游标 --隐式游标 --PL/SQL 中用户在使用数据操作语言(DML)时,预先定义一个名SQL的隐原创 2012-03-26 18:51:27 · 458 阅读 · 1 评论 -
数据库对象(数据字典)
--数据字典 --Oracle存放数据库信息的一系列的表或视图 --数据字典视图是由SYS(系统用户)所拥有 select * from dictionary; --dictionary --存放数据字典表信息的表 select * from dictionary where table_name='USER_TABLES' --分为静态和动态数据字典: --静态数据字典主要原创 2012-03-26 18:18:33 · 591 阅读 · 0 评论 -
创建表分区(提高性能重要手段)
--表分区需要在创建表的时候创建 --1.范围分区(最后一个区必须有最大值限制maxvlaue表示大于3000的所有值) create table comp( id number(10) primary key, name varchar2(50) not null, price number(10,2) not null ) partition by range(pric原创 2012-03-26 18:13:41 · 228 阅读 · 0 评论 -
Oracle自主事务处理
--当一个子程序调用另外一个子程序时,事务提交或回滚都将影响两个子程序 --为防止一个子程序的事务影响其他子程序,可以将这个子程序标记为自主事务处理 --这样自主事务成为一个独立的事务处理,不影响其他子程序的事务 --pragma autonomous_transaction 用于标记子程序为自主事务处理 --自主事务过程 create or replace procedure pr原创 2012-03-26 18:57:49 · 2104 阅读 · 0 评论 -
Oracle数据库分页查询
--查询6-10行数据 select * from (select t.*,rownum rn from (select * from topic order by tid) t where rownum <= 10) where rn > 5原创 2012-03-26 18:02:50 · 235 阅读 · 0 评论 -
动态sql语句 异常处理
--execute immediate 实现DDL declare v_ddl varchar2(200); begin v_ddl:='create table mytable as select ename,sal from emp'; execute immediate v_ddl; dbms_output.put_line('mytable表已建');原创 2012-03-26 18:45:52 · 851 阅读 · 0 评论 -
索引(性能优化的重要手段)
--Oracle主要索引类型: --标准索引 一般适合数据量大且增、删、改不是很频繁的表,索引列通常需要经常查询 create index IN_emp_name on emp(ename desc) --位图索引 位图索引适于列值重复较多的列 --唯一索引 唯一索引确保在定义索引的列中没有重复值 create unique index IN_dept_原创 2012-03-26 18:32:17 · 260 阅读 · 0 评论 -
Oracle视图
create or replace view v_emp as select empno,ename,sal from emp; select * from v_emp; --使用视图 update v_emp set sal=5555 where empno=7782; --可以更新 commit; --只读视图 create or replace view v_emp原创 2012-03-26 18:24:59 · 210 阅读 · 0 评论 -
创建序列
create sequence seq_person --创建序列 start with 1000 --开始序列号为1000 可选 默认1 increment by 1 --每次增加1 可选 默认1 minvalue 100 | nominvalue --最小值100 nominvalue表示没有最小值 maxvalue 10000 | nomaxvalue原创 2012-03-26 18:11:08 · 675 阅读 · 0 评论 -
Oracle触发器
--触发器是当特定事件出现时自动执行的存储过程 --特定事件可以是执行更新的DML语句和DDL语句 --触发器不能被显式调用 --触发器的功能: --自动生成数据 --自定义复杂的安全权限 --提供审计和日志记录 --启用复杂的业务逻辑 --Oracle触发器类型: --行级触发器 对DML语句影响的每一行执行一次 --语句级触发器原创 2012-03-26 19:03:26 · 272 阅读 · 0 评论 -
Oracle控制语句(if , loop , while , for)
--if...then...elsif..then.. else...end if declare num integer; inputno number(10); begin inputno :='&请输入'; select sal into num from scott.emp where empno=inputno; if(num<2000)原创 2012-03-26 18:41:09 · 363 阅读 · 0 评论 -
Oracle数据库同义词
--现有对象的一个别名 --创建scott用户的dept表为公有同义词mydept create or replace public synonym mydept for scott.dept; --所有用户可以通过mydept访问scott.dept select * from mydept; --创建scott用户的emp表为私有同义词myemp creat原创 2012-03-26 18:19:35 · 269 阅读 · 0 评论 -
Oracle存储过程
--无参的存储过程 create or replace procedure proc_one as v_emp emp%rowtype; begin select * into v_emp from emp where empno=7788; dbms_output.put_line(v_emp.ename||' '||v_emp.sal); end; --原创 2012-03-26 18:55:04 · 273 阅读 · 0 评论