Oracle
蟹道人
岂闻韶华尽何年,回首沧桑,此恨绵绵,风月如剑,看我破天。
展开
-
Oracle 11g R2的安装和登录方法
第一步:下载两个安装包。注意是下载windows系统支持下的包。第二步:将两个安装包选中解压到一个文件夹下!注意是选中两个包解压!第三步:根据安装提示一步步安装。到安装完成时,会有一个口令管理的按钮,点击进入,取消锁定scott数据库,并设置其密码。第四步:登录数据库。 在不知道密码的情况下的登录方法:原创 2013-10-05 20:02:57 · 2255 阅读 · 0 评论 -
pl/sql 循环的使用实例
2.请编写一个过程,可输入用户名,并循环添加10个用户到users表中。create table users1(userId number(8),userName varchar2(20));create or replace procedure sp_pro6(spName varchar2) is--定义v_num number:=1;beginloopinsert原创 2013-10-16 21:01:42 · 1118 阅读 · 0 评论 -
pl/sql 条件分支的使用实例
1.创建一个过程,根据员工的姓名查找它的工资,如果工资小于2000,则使他增加10%create procedure sp_pro6(spName varchar2) is--定义v_sal emp.sal%type;begin--执行select sal into v_sal from emp where ename=spName;--判断if v_salup原创 2013-10-16 20:57:09 · 1019 阅读 · 0 评论 -
pl/sql 游标变量实例
参照变量-ref cursor游标变量。 使用游标时,当定义游标时不需要指定相应的select语句,但是当使用游标时(open时)需要指定select语句,这样一个游标与一个select语句结合了。实例如下: 1.请使用pl/sql编写一个块,可以输入部门号,并显示部门所有员工的姓名和工资declare--定义游标类型 sp_emp_cursortype sp_emp_curs原创 2013-10-16 20:52:56 · 590 阅读 · 0 评论 -
pl/sql 程序中的变量使用实例
在pl/sql程序中包括 a.标量类型(scalar) b.复合类型(composite) c.参照类型(reference) d.lob(large object)标量定义的案例: 1.定义一个变长字符串 v_ename varchar2(10) 2.定义一个小数: v_sal number(6,2) 3.定义一个小数并给一个初始值 v_sal2 number(6原创 2013-10-16 20:45:18 · 839 阅读 · 0 评论 -
pl/sql 块 实例
实例1:set serveroutput on--打开输出选项begin dbms_output.put_line('hell0');end;set serveroutput off--关闭输出选项说明:put_line是dbms_output包的一个过程。实例2:declare v_ename varchar2(5);--定义字符串变量begin s原创 2013-10-16 20:30:21 · 555 阅读 · 0 评论 -
oracle 触发器
实例6:触发器触发器:触发器是指隐含的执行的存储过程。当定义触发器时,必须要指定触发的事件和触发的操作,常用的触发事件包括insert,update,delete语句,而触发实际就是一个pl/sql块。可以用create trigger来建立触发器。原创 2013-10-16 20:38:30 · 487 阅读 · 0 评论 -
oracle 包和包体的创建
实例5:创建包:--创建一个包sp_package--声明该包有一个过程update_sal--声明该包有一个函数annual_incomecreate package sp_package isprocedure update_sal(name varchar2,newsal number);function annual_income(name varchar2)原创 2013-10-16 20:37:00 · 8731 阅读 · 0 评论 -
oracle 函数的调用
实例4:函数的调用--函数创建create function sp_fun2(spName varchar2) return number is yearsal number(15,2);begin --执行部分select sal*12+nvl(comm,0)*12 into yearsal from emp where ename=spName;return years原创 2013-10-16 20:35:10 · 684 阅读 · 0 评论 -
pl/sql 返回值是不止一个的处理方式
问题3: 编写一个过程,输入部门号,返回该部门所有雇员信息。 分析:由于oracle存储过程是没有返回值的,它的所有返回值都是通过out参数来替代的,列表同样是如此,但由于是集合,所以不能用一般的参数,要用package--1.创建一个包,在该包中,定义类型test_cursor,游标create or replace package testpackage astype原创 2013-10-16 21:17:31 · 1069 阅读 · 0 评论 -
oracle 导出表、方案、数据库和他们的导入
表的备份:自己的表:导出一个表:F:\app\ZhangShaoWen\product\11.2.0\dbhome_1\BIN>exp userid=scott/Oracle1@orcl tables=(emp) file=d:\emp.dmp导出多张表:F:\app\ZhangShaoWen\product\11.2.0\dbhome_1\BIN>exp userid=s原创 2013-10-16 21:29:54 · 837 阅读 · 0 评论 -
oracle 索引使用
管理索引 单例索引:单例索引是基于单个列所建立的索引。 create index 索引名 on 表名(列名) 复合索引:复合索引是基于两列或是多列建立的索引。 create index emp_idx1 on emp (ename,job); creat index emp_idx1 on emp (job,ename);显示索引信息 显示表的所有索引:dba原创 2013-10-17 08:30:30 · 619 阅读 · 0 评论 -
表的创建和维护
表的创建和维护 修改表的约束条件: 1.增加商品名称不能为空 alter table goods modify goodsName not null; 2.增加身份证不能重复 alter table customer add constraint card_unique(cardId); 3.增加客户的住址只能是“北京”“上海”alter table cust原创 2013-10-17 08:30:31 · 667 阅读 · 0 评论 -
数据字典和动态性能视图---动态性视图(二)
数据字典和动态性能视图---动态性视图 动态性能视图用于记录当前历程的活动信息。管理表空间和数据文件---表空间 建立表空间使用create tablespace命令完成。一般由dba来完成的 建立数据表空间:在建立数据库后,为便于管理表,最好建立自己的表空间 create tablespace sp001 datafile 'd:\test\sp001.dbf' siz原创 2013-10-17 08:29:49 · 2231 阅读 · 0 评论 -
pl/sql 有返回值的存储过程(二)
问题2:编写一个过程,可以输入雇员的编号,返回雇员的姓名、工资、岗位--首先编写过程create procedure sp_pro9(spNo in number,spName out varchar2,spSal out number,spJob out varchar2) isbeginselect ename,sal,job into spName,spSal,spJob f原创 2013-10-16 21:12:41 · 2712 阅读 · 0 评论 -
pl/sql 有返回值的存储过程 java调用pl/sql过程 实例
问题:编写一个过程,可以输入雇员的编号,返回雇员的姓名--有返回值的存储过程,有输入输出的存储过程create procedure sp_pro8(spNO in number,spName out varchar2) isbeginselect ename into spName from emp where empno=spNO;end;java调用的方法:pa原创 2013-10-16 21:09:29 · 1411 阅读 · 0 评论 -
java 调用pl/sql过程 向表中插入数据的实例
6.--编写过程,无返回值得存储过程--in;表示这是一个输入参数,默认为in--out;表示一个输出参数create table book(bookId number(8),bookName varchar2(50),publishHouse varchar2(50));create or replace procedure sp_pro7(spBookId in numbe原创 2013-10-16 21:05:59 · 2030 阅读 · 0 评论 -
pl/sql记录和表
复合类型-pl/sql记录 类似于高级语言中的结构体,引用记录成员时,必须要加记录变量作为前缀declare type emp_record_type is record(name emp.ename%type,salary emp.sal%type,title emp.job%type);sp_record emp_record_type;beginselect enam原创 2013-10-16 20:48:43 · 571 阅读 · 0 评论 -
数据字典和动态性能视图---数据字典(一)
数据字典和动态性能视图---数据字典user_tables:用于显示当前用户所拥有的表。select table_name from user_tablesall_tables:显示当前用户可以访问到的所欲的表。select table_name from all_tablesdba_tables:显示所有方案拥有的表。用户名。权限。角色在建立用户时,oracle会把用户的信息原创 2013-10-16 21:33:16 · 861 阅读 · 0 评论 -
oracle 编写一个过程procedure
实例3: 编写一个过程,可以输入雇员名,新工资,可修改雇员的工资。create procedure sp_pro3(sp_name varchar2,new_sal number) isbeginupdate emp set sal=new_sal where ename=sp_name;end;如何调用过程,有两种方法。exec sp_pro3('SCOTT',8原创 2013-10-16 20:32:36 · 1158 阅读 · 0 评论 -
oracle 视图
视图与表的区别1.表需要占用磁盘空间,视图不需要2.视图不能添加索引3.使用视图可以简化 复杂查询4.视图利于提高安全性创建视图create view 视图名 as select 语句 [with read only]创建或修改视图create or replace view 视图名 as select语句 [with read only]删除视图drop原创 2013-10-16 20:26:58 · 519 阅读 · 0 评论 -
oracle 插入日期的方式
1.直接插入方式 ('23-11月-1999')不能写成('1999-11-23')2.转换成常用格式:to_date('1999-11-23','yyyy-mm-dd');原创 2013-10-10 09:12:01 · 805 阅读 · 0 评论 -
Oracle 事务的应用
package com.sw;import java.sql.*;public class TestTrans { /** * 事务举例 * 添加事务,提交事务,回滚 */ public static void main(String[] args) { Connection conn = null; Statement stmt原创 2013-10-09 16:53:16 · 790 阅读 · 0 评论 -
jdbc连接Oracle
package com.sw;import java.sql.*;public class TestOra2 { public static void main(String[] args) { Connection conn=null; Statement st=null; ResultSet rs=null; try {原创 2013-10-09 16:51:53 · 462 阅读 · 0 评论 -
jdbc-odbc桥连接Oracle
package com.sw;import java.sql.*;/* * java连接Oracle * 测试1 */public class TestOra { public static void main(String[] args) { Connection conn=null; Statement st原创 2013-10-09 16:49:29 · 856 阅读 · 0 评论 -
Oracle11g R2 Datebase Control-orcl不能登录
问题:单击Oracle11g R2 Datebase Control-orcl不能登录 解决办法:更换浏览器。前提是你的用户名和密码等确定是正确的。IE 360 搜狗 google 火狐。肯定有一个浏览器是可以访问的!原创 2013-10-05 20:08:23 · 1377 阅读 · 0 评论 -
Oracle表的管理
Oracle表的管理(1)字符型 char 定长 最大2000字符。 填写字符不够长时会自动补成空格。 varchar 变长 最大4000字符 。 可以节省空间。 查询操作时。char 比 varchar 效率高。 clob(character large object)最大4G(2)数字型 number 范围原创 2013-10-07 12:20:03 · 543 阅读 · 0 评论 -
Oracle用户的管理
Oracle 用户的管理(1)创建用户:概述,在Oracle中要创建一个新的用户使用 create user 语句, 一般是具有dba(数据库管理员)的权限才能使用。 管理员授权给新建的用户:grant connect,resource to 用户名;(2)修改用户的密码:如果是给自己修改密码可以直接使用 sql>password 用户名。如果是给别人修改密原创 2013-10-06 09:35:22 · 456 阅读 · 0 评论 -
sql*plus 常用命令
sql*plus 常用命令 连接命令 (1)conn[ect] 用法:用户名/密码@网络服务名[as sysdba/sysoper] 当用特权用户身份连接时,必须带上as sysdba 或是 as sysoper (2) disc[onnect]说明:该命令用来断开与当前数据库的连接(3)passw[ord] 说明:该命令用来修改用户的密码,如果要修改其他用户的密码,需要用原创 2013-10-05 20:59:54 · 710 阅读 · 0 评论 -
Oracle 查找日期显示时分秒的方式
1.例句SQL> select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss') from emp;说明:yy:两位数字的年份 yyyy:四位数字的年份。 mm两位数的月份,dd两位数字的天数 hh24:24小时制 hh12:12小时制 mi分钟 ss秒原创 2013-10-10 09:15:27 · 5290 阅读 · 0 评论 -
Oracle 货币符号
1.举例:select ename,to_char(sal,'L99999.99') from emp; 此时显示的sal字段的值前面加了一个符号RMBSQL> select ename,to_char(sal,'$99999.99') from emp; 此时显示的sal字段的值前面加了一个美元符号说明:货币符号: 9:显示数字,并忽略前面0 0:显示数字,如位数不足,则原创 2013-10-10 09:24:30 · 4634 阅读 · 1 评论 -
oracle 自定义例外
--自定义例外create or replace procedure ex_test(spNo number)is--定义一个例外myex exception;begin--更新用户update emp set sal=sal+100 where empno=spNo;--sql%notfound这是表示没有update--raise myex;触发myex原创 2013-10-16 20:26:01 · 877 阅读 · 0 评论 -
oracle 预定义例外
常见的预定义例外case_not_foundcreate or replase procedure sp_pro12(spno number) isv_sal emp.sal%type;beginselect sal into v_sal from emp where empno=spno;casewhen v_sal<1000 thenupdate emp s原创 2013-10-16 20:24:28 · 878 阅读 · 0 评论 -
Oracle 分页
问题:编写一个存储过程,要求可以输入表名,每页显示记录数,当前页,返回总记录数,总页数,和返回的结果集--开始编写分页的过程--首先创建一个包create or replace package testpackage astype test_cursor is ref cursor;end testpackage;--编写过程create or replace proc原创 2013-10-16 20:22:22 · 569 阅读 · 0 评论 -
sql函数的使用
字符函数------ lower(char):小写 upper(char):大写 lenfth(char):长度 substr(char,m,n);取字符串的字串 replace(char1,search_string,replace_string):替换 instr(char1,char2,[,n[,m]])取子串在字符串的位置。 数学函数----原创 2013-10-10 09:06:18 · 542 阅读 · 0 评论 -
事务的几个重要操作
(1)设置保存点:savepoint a; (2)取消部分事务 rollback to a; (3)取消全部事务:rollback; 在java程序中使用事务: 在java操作数据库时,为了保证数据的一致性,比如转账操作,通常要使用事务。 提交事务:当执行commit语句可以提交事务,当执行了commit语句后,会确认事务的变化,结束事务,删除保存点、释放锁,当使原创 2013-10-10 09:01:38 · 1361 阅读 · 0 评论 -
Oracle 字符函数
lower(char):小写 upper(char):大写 lenfth(char):长度 substr(char,m,n);取字符串的字串 replace(char1,search_string,replace_string):替换 instr(char1,char2,[,n[,m]])取子串在字符串的位置。首字母大写,其余字母小写的sql语句select原创 2013-10-10 09:29:53 · 509 阅读 · 0 评论 -
Oracle 数学函数
round(n,[m]) 四舍五入,如果去掉m,则四舍五入到整数,如果m是正数,则四舍五入到小数点的m位,如果是负数,则四舍五入到小数点前。trunc(n,[m]) 该函数用于截取数字。如果去掉m,就截取小数部分,如果m是正数就截取到小数点后的m位后,如果是负数,则截取到小数点之前m位。mod(n,m);取摸floor(n)返回小于或是等于n的最大整数ceil(n)返回大于或是等于原创 2013-10-10 09:28:03 · 614 阅读 · 0 评论 -
Oracle 日期函数
(1)sysdate:该函数返回系统时间 (2)add_months(d,n) select * from emp where sysdate>addmonths(hiredate,8); (3)last_day(d);返回指定日期所在月份的最后一天。SQL> select ename,hiredate from emp where (last_day(hiredate)-hi原创 2013-10-10 09:26:45 · 489 阅读 · 0 评论 -
管理权限和角色---角色
管理权限和角色---角色 预定义角色:预定义角色是指oracle所提供的角色,每种角色都用于执行一些特定的管理任务,常见的预定义角色有connect,resource,dba. 1.connect角色 connect角色具有一般应用开发人员需要的大部分权限,当建立了一个用户后,多数情况下,只要给用户授予connect和resource角色就够了,connect角色的系统权限:alte原创 2013-10-17 08:31:00 · 798 阅读 · 0 评论