- 浏览: 1229771 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (718)
- HTML (13)
- JS基础 (23)
- JS应用 (40)
- AJAX (6)
- JSP相关 (12)
- JAVA基础 (52)
- JAVA应用 (74)
- APPLET (11)
- SWING\RCP (2)
- JAVA反射 (6)
- 设计模式 (26)
- 数据库设计 (20)
- Struts (35)
- Struts2 (12)
- Spring (22)
- Hibernate (45)
- Ibatis (18)
- mybatis (3)
- SSH (8)
- UML (5)
- WebService (3)
- XML (16)
- Log4j (7)
- WEB容器 (26)
- 数据结构 (36)
- Linux (34)
- Ruby on Rails (1)
- 其它技术 (27)
- IDE配置 (15)
- 项目实战 (2)
- Oracle (69)
- JAVA报表 (7)
- Android学习 (2)
- 博客链接 (1)
- 网络基础 (1)
- WEB集群 (1)
- .Net开发 (11)
- PB (4)
- 系统构建 (15)
最新评论
-
jnjeC:
牛逼啊哥们,讲得太好了
Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包 -
九尾狐的yi巴:
很好 感谢!
Itext中文处理(更新版) -
luweifeng1983:
有用的,重启一下嘛。
设置eclipse外部修改文件后自动刷新 -
Master-Gao:
设置了也不管用,怎么破呢?
设置eclipse外部修改文件后自动刷新 -
aigo_h:
锋子还有时间写博客,还是很闲哈!
Add directory entries问题
Oracle: 1、不等于 select * from username where name!='god'; select * from username where name<>'god'; select * from username where not name='god'; 2、查询表结构: desc username; 3、多表连接查询: 无条件连接: select emp.empno,emp.ename,emp.depno,dept.dname from scott.emp,scott.dept; 返回笛卡乐积。 等值查询: select emp.empno,emp.ename,emp.depno,dept.dname from scott.emp,scott.dept where scott.emp.depno=scott.dept.depno; 非等值查询 select emp.empno,emp.ename,emp.depno,dept.dname from scott.emp,scott.dept where scott.emp.depno!=scott.dept.depno and scott.dept.depno='20'; 4、嵌套查询: 简单嵌套查询: select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal >=(select sal from scott.emp where ename='ward'); 带in嵌套查询: select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal in (select sal from scott.emp where ename='ward'); 带any嵌套查询: select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal>any (select sal from scott.emp where ename='manager'); 执行步骤: 先执行select sal from scott.emp where ename='manager'可能返回多个值:如:1250,1130,2500 再执行: select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal>1250 or sal>1130 or sal>2500; 带some的嵌套查询: select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal=some (select sal from scott.emp where ename='manager'); 执行步骤: 先执行select sal from scott.emp where ename='manager'可能返回多个值:如:1250,1130,2500 再执行: select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal=1250 or sal=1130 or sal=2500; 带all的嵌套查询: select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal>all (select sal from scott.emp where ename='manager'); 执行步骤: 先执行select sal from scott.emp where ename='manager'可能返回多个值:如:1250,1130,2500 再执行: select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal>1250 and sal>1130 and sal>2500; 带exists的嵌套查询: select emp.empno,emp.ename,emp.job,emp.sal from scott.emp,scott.dept where exists (select * from scott.emp where scott.emp.deptno=scott.dept.deptno); 集合并操作: (select deptno from scott.emp) union (select deptno from scott.dept); 交集合操作: (select deptno from scott.emp) intersect (select deptno from scott.dept); 差集合操作:即属于集合A且不属于集合B的元素总和就是差集。 (select deptno from scott.dept) minus (select deptno from scott.emp); 5、使用函数查询: ceil函数: select sal,sal/100,ceil(sal/100) from scott.emp; ceil(n)取大于等于数值n的最小整数。如sal/100=78.39,则ceil(sal/100)=79 注意它并不是四舍五入的。同时注意oracle中sal/100指的不是整除。 floor函数: floor(n)取小于等于数值n的最大整数。 如:sal/100=17.12 ,则floor(sal/100)=17 mod(m,n)函数: mod(m,n)取m整除n后的余数:如mod(17,3)=2,mod(17/2)=1 power(m,n)取m的n次方 power(3,2)=9 round(m,n) 四舍五入,保留n位。如:round(1.333,2)=1.33 sign(n) n>0取1,n=0 取0,n<0取-1; avg(字段名) 求平均值,字段为数值型。 count(*) 统计总数; min(字段名),max(字段名) 计算数值型字段最小数最大数。 sum(字段名)计算数值型字段总和。 6、表间复制 注意没有mssql中语句:select * into .. from ... 用法如下: create table system.username1 as ( select * from system.username ); 即创建表username1,并将username表中的数据复制到username1表。 7、删除语句: delete from truncate from tablename 这两个语句的区别: delete 删除的数据内容会存储在系统回滚段中,需要的时候,数据仍可回滚恢复,但truncate命令删除的数据是不可恢复的。 8、系统默认账户名: 密码: system manager sys change_on_install scott tiger 9、创建表格时使用主键、外键约束 CREATE TABLE "SCOTT"."STUDENT" ("STUDENT_ID" NUMBER(8) NOT NULL, "NAME" VARCHAR2(10 byte) NOT NULL, "BIRTHDAY" DATE NOT NULL, "DIRECTOR_ID" NUMBER(6) NOT NULL, CONSTRAINT "导师编码外键" FOREIGN KEY("DIRECTOR_ID") REFERENCES "SCOTT"."DIRECTOR"("DIRECTOR_ID"), CONSTRAINT "学生编码主键" PRIMARY KEY("STUDENT_ID") USING INDEX TABLESPACE "USERS" STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0) PCTFREE 10 INITRANS 2 MAXTRANS 255) TABLESPACE "USERS" PCTFREE 10 PCTUSED 0 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 0K MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0) LOGGING 10、使用truncate table 时,如果不事先将导师表和学生表的外键关系去掉而直接删除导师表将会出错。 先执行: alter table scott.student disable constraint "导师编码外键"; 再truncate table scott.Direactor drop storage; 11、插入日期数据时注意的地方 INSERT INTO "SCOTT"."STUDENT" ("STUDENT_ID" ,"NAME" ,"BIRTHDAY" ,"DIRECTOR_ID" ) VALUES (90002 ,'zhangji' ,TO_DATE('03-11月-1983', 'dd-Mon-yyyy HH:MI:SS AM') ,200202 ) 注意BIRTHDAY为DATE类型数据,插入时应使用:TO_DATE('03-11月-1983', 'dd-Mon-yyyy HH:MI:SS AM') 12、创建索引 CREATE UNIQUE INDEX "SCOTT"."学生编码主键" ON "SCOTT"."STUDENT" ("STUDENT_ID") TABLESPACE "USERS" 13、创建约束条件 CONSTRAINT "约束" CHECK(STUDENT_ID>9000 AND STUDENT_ID<90005) 14、ORACLE用户管理 用户名 口令 登录身份说明 sys chang_on_install sysdba 或 sysoper,但不能以normal身份登录,可做默认系统管理员。 system manager sysdba 或 normal,但不能以sysoper身份登录,可做默认系统管理员。 scott tiger normal普通用户 aqadm aqadm sysdba 或 normal,高级队列管理员 Dbsnmp dbsnmp sysdba 或 normal,复制管理员 15、创建用户 CREATE USER "TEMPUSER" PROFILE "DEFAULT" IDENTIFIED BY "sys833199" DEFAULT TABLESPACE "USERS" ACCOUNT UNLOCK; GRANT "CONNECT" TO "TEMPUSER"; 16、PL/SQL procedure language 过程化SQL 如创建表: CREATE TABLE "TEMPUSER"."TESTTABLE" ("RECORDNUMBER" NUMBER(4) NOT NULL, "CURRENTDATE" DATE NOT NULL) TABLESPACE "USERS" 在sql plus worksheet中执行以下语句: set serveroutput on declare maxrecords constant int:=100; i int:=1; begin for i in 1..maxrecords loop insert into tempuser.testtable(recordnumber,currentdate) values(i,sysdate); end loop; dbms_output.put_line('成功录入数据!'); commit; end; 在表testtable中插入了一百条数据,recordnumber从1到100,currentdate为当前系统日期值。 1、完整的PL SQL结构为: declare 定义语句段 begin 执行语句段 exception 异常处理语句段 end 2、基本语法 常量: 常量名 constant 类型标识符 [not null] :=值; 如: declare pi constant number(9):=3.1415926; begin commit; end; 变量: 变量名 类型标识符 [not null]:=值; declare age number(6):=26; begin commit; end; 3、PLSQL中的常用的基本类型 类型标识符 说明 Number 数字型 Int 整数型 Pls_integer 整数型,产生溢出时出现错误 Char 定长字符型,最大255个字符 Varchar2 变长字符型,最大2000个字符 Long 变长字符型,最大2GB Date 日期型 Boolean 布尔型(true,false,null三都取一) 4、PL SQL中的复合类型变量 4.1、pl sql中的类型与ORACLE中的类型有的含义一样,有的则不同。这样ORACLE引入了%TYPE方法来定义变量 如:testtable表中字段currentdate为date类型, 在PL SQL中引入此变量类型,这样当表中字段改变时,在对应的PL SQL 中的变量类型也相应改变了。 变量名 数据表名。列名%type; 使变量获得与表中某一列相同的类型。 declare mydate tempuser.testtable.currentdate%type; begin commit; end; 4.2、定义记录类型的变量即多个基本数据类型捆绑在一起。 如 set serveroutput on declare type myrecord is record( myrecordnumber int, mycurrentdate date); srecord myrecord; begin select * into srecord from tempuser.testtable where recordnumber=21; dbms_output.put_line(srecord.mycurrentdate); end; 以上定义了名为myrecord的记录类型,srecord为记录类型变量。 4.3、使用%rowtype定义变量 变量名 数据表%rowtype 获得整个记录的数据类型。 declare mytable tempuser.testtable%rowtype; begin select * into mytable from tempuser.testtable where recordnum=32; dbms_output.put_line(mytable.currentdate); end; 4.4、定义一维表类型变量 type 表类型 is table of 类型 index by binary_integer; 表变量名 表类型; 其中类型可以是基本类型也可以是上面1,2,3中定义的类型 declare type tabletype1 is table of varchar2(4) index by binary_integer; type tabletype2 is table of tempuser.testtable.recordnumber%type index by binary_integer; table1 tabletype1; table2 tabletype2; begin table1(1):='大学'; table1(2):='大专'; table2(1):=88; table2(2):=99; dbms_output.put_line(table1(1)||table2(1)); dbms_output.put_line(table1(2)||table2(2)); end; 以上定义了两个一维表类型tabletype1,tabletype2,相当两个一维数组,然后定义了两个一维表类型变量table1,table2. 在执行部分提供了对他们的赋值,最后通过||字符串连接符输出,输出如:大学88 大专99 在表类型变量中可以使用count,delete,first,last,next,exists,prior等属性操作,使用方法为变量名。属性名 如: set serveroutput on declare type tabletype1 is table of varchar2(9) index by binary_integer; table1 tabletype1; begin table1(1):='北京市'; table1(2):='青岛市'; table1(3):='上海市'; table1(4):='长沙市'; table1(5):='南昌市'; dbms_output.put_line('总记录数为:'||to_char(table1.count)); dbms_output.put_line('第一条记录:'||table1.first); dbms_output.put_line('最后一条记录:'||table1.last); dbms_output.put_line('第一条记录:'||table1.first); dbms_output.put_line('第二条的前一条记录:'||table1.prior(2)); dbms_output.put_line('第二条的后一条记录:'||table1.next(2)); end; 输出结果为: 总记录数为:5 第一条记录:1 最后一条记录:5 第一条记录:1 第二条的前一条记录:1 第二条的后一条记录:3 4.5、定义多维表类型变量 set serveroutput on declare type tabletype1 is table of testtable%rowtype index by binary_integer; table1 tabletype1; begin select * into table1(60) from tempuser.testtable where recordnumber=60; dbms_output.put_line(table1(60).recordnumber||table1(60).currentdate); end; 输出: 6021-7月 -08 5、表达式 字符表达式:|| 当变量为数值型时,需使用to_char(变更名)转换为字符名再通过dbms_output.put_line输出。 关系表达式: in 在。。之中 常见类型转换函数 to_char():将其它类型转换成字符型 to_date():将其它类型转换成日期型 to_number():将其它类型转换成数值型 6、流程控制 条件控制1: if 条件 then 语句段; end if; 条件控制2: if 条件 then 语句段1; else 语句段2; end if; 条件控制3:if嵌套 if 条件 then if 条件 then 语句段; else 语句段; end if; else 语句段; end if; 示例: set serveroutput on declare num1 Integer:=12; num2 Integer:=23; begin if num1>num2 then dbms_output.put_line(' num1>num2'); else dbms_output.put_line(' num1<=num2'); end if; end; 循环控制1:loop...exit..end loop loop 循环语句段; if 条件语句 then exit; else 退出循环的处理语句段; end if; end loop; 示例: declare num1 Integer:=20; num2 Integer:=30; i Integer:=0; begin loop num1:=num1+1; if num1=num2 then exit; else i:=i+1; end if; end loop; dbms_output.put_line('共循环次数'||to_char(i)); end; 输出结果:9 循环控制2:loop...exit when..end loop declare num1 Integer:=20; num2 Integer:=30; i Integer:=0; begin loop num1:=num1+1; i:=i+1; exit when num1=num2 end loop; dbms_output.put_line('共循环次数'||to_char(i)); end; 输出结果:10 可见采用when比if循环要多执行一次。 循环控制3:when loop..end loop 循环控制4:for..in..loop ...end loop for 循环变量 in 循环下界。。循环上界 loop 循环处理语句段; end loop; 17、事务处理 在ORACLE中为了保证多个客户机对数据的操作的完整性,设定在内存中为每个客户机创建工作区,他们在工作区中进行的操作必须使用commit命令提交才真正修改数据库中的内容。 可使用set auto on打开自动提交功能,这样PL SQL执行后将自动完成提交功能。 rollback命令,在尚未提交commit命令之前,如果发现delete,insert,update等操作需要恢复的话,可使用rollback命令回滚到上一次使用commit时的状态。 select * from testtable; 返回100行; delete from testtable; 删除100行; select * from testtable; 未选定行 rollback; select * from testtable; 返回100行。 使用保存点命令: 创建保存点:savepoint 保存点名; 回滚保存点:rollback to 保存点名; 18、游标 MSSQL中定义游标的方法示例: DECLARE Employee_Cursor CURSOR FOR SELECT LastName, FirstName FROM Northwind.dbo.Employees OPEN Employee_Cursor FETCH NEXT FROM Employee_Cursor WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM Employee_Cursor END CLOSE Employee_Cursor DEALLOCATE Employee_Cursor 在ORACLE中的PL SQL中使用游标 declare cusor 游标名 is select 语句; open 游标名; 再提取游标数据 fetch 游标名 into 变量名1,变量名2,。。。; 或 fetch 游标名 into 记录型变量名; 如: set serveroutput on declare tempsal scott.emp.sal%type; cursor mycursor is select * from scott.emp where sal>tempsal; begin tempsal:=800; open mycursor; end; 完全定义游标以及取数据过程如下: set serveroutput on declare tempsal scott.emp.sal%type; cursor mycursor is select * from scott.emp where sal>tempsal; cursorrecord mycursor%rowtype; begin tempsal:=800; open mycursor; fetch mycursor into cursorrecord; dbms_output.put_line(to_char(cursorrecord.deptno)); close mycursor; end; 其中:cursorrecord mycursor%rowtype;定义cursorrecord为游标mycursor的记录行变量; 结果为在游标的结果中找到sal字段大于800的第一个记录,显示deptno的内容。 19.游标的属性 使用方法:游标名。[属性] 1.%isopen:测试游标是否打开,如果没有打开使用fetch语句将会出错。 2.%found:测试前一个fetch语句是否有值,如有则返回true,否则为false. 3.%notfound: 4.%rowcount:返回游标的数据行数. 通过dbms_output.put_line(to_char(mycursor%rowcount));若返回值为0表明游标已打开,但没有提取出数据。 20、过程 过程的语法结构 create or replace procedure 过程名 as 声明语法段; begin 执行处理段; exception 异常处理段; end; 注意:as代替了declare所以声明段中不需要declare关键字。 create or replace procedure tempproc as tempdate tempuser.testtable.currentdate%type; begin select currentdate into tempdate from testtable where recordnumber=22; dbms_output.put_line(to_char(tempdate)); end; 执行过程: set serveroutput on begin tempproc; end; 带参数的过程: in 参数:读入参数,主程序向过程传递参数值; out 参数:读出参数,过程向主程序传递参数值; in out 参数:双向参数,过程与主程序双向传递数据。 示例如下: create or replace procedure p (v_a in number,v_b number,v_ret out number,v_temp in out number) as begin if(v_a>v_b) then v_ret :=v_a; else v_ret :=v_b; end if; v_temp := v_temp + 1; end; 执行过程: set serveroutput on declare a int:=10; b int:=20; c int:=25; d int:=30; begin p(a,b,c,d); dbms_output.put_line(to_char(a)); dbms_output.put_line(to_char(b)); dbms_output.put_line(to_char(c)); dbms_output.put_line(to_char(d)); end; 输出结果: 10 20 20 31 21、序列 即创建和使用自增自减的字段: 方法: CREATE SEQUENCE "SCOTT"."TEMPORDER" INCREMENT BY 1 START WITH 1 MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE CACHE 20 NOORDER 在用户点序列,创建或用以上脚本创建序列。 针对某一个表中的一个字段应用这个序列即可 创建APPLYORDER表如下: CREATE TABLE "SCOTT"."APPLYORDER" ("EMPNO" NUMBER(10) NOT NULL) TABLESPACE "USERS" 执行插入语句,使empno字段应用序列temporder. INSERT INTO "SCOTT"."APPLYORDER"(EMPNO) VALUES(SCOTT.TEMPORDER.NEXTVAL); INSERT INTO "SCOTT"."APPLYORDER"(EMPNO) VALUES(SCOTT.TEMPORDER.NEXTVAL); 连续插入两个值: select * from scott.applyorder; 输出结果为: 1 2 22、异常处理 1.定义异常处理:declare 异常名 exception ; 2.触发异常处理:raise 异常名; 3.处理异常 Exception when 异常名1 then 异常处理段1; when 异常名2 then 异常处理段2; 示例: set severoutput on declare salaryerror exception; tempsal scott.emp.sal%type; begin select sal into tempsal from scott.emp where empno=7566; if tempsal<900 or tempsal>2600 then raise salaryerror; end if; exception when salaryerror then dbms_output.put_line('薪水超出范围'); end; 23、综合练习 表:GRADUATE CREATE TABLE "SCOTT"."GRADUATE" ("BH" NUMBER(10) NOT NULL, "XM" VARCHAR2(10 byte) NOT NULL, "LB" VARCHAR2(10 byte) NOT NULL, "YINGYU" NUMBER(4, 1) NOT NULL, "ZHENGZHI" NUMBER(4, 1) NOT NULL, "ZHUANGYE1" NUMBER(4, 1) NOT NULL, "ZHUANGYE2" NUMBER(4, 1) NOT NULL, "ZHUANGYE3" NUMBER(4, 1) NOT NULL) TABLESPACE "USERS" 表:RESULT CREATE TABLE "SCOTT"."RESULT" ("BH" NUMBER(10) NOT NULL, "XM" VARCHAR2(10 byte) NOT NULL, "LB" VARCHAR2(10 byte) NOT NULL, "YINGYU" NUMBER(4, 1) NOT NULL, "ZHENGZHI" NUMBER(4, 1) NOT NULL, "ZHUANGYE1" NUMBER(4, 1) NOT NULL, "ZHUANGYE2" NUMBER(4, 1) NOT NULL, "ZHUANGYE3" NUMBER(4, 1) NOT NULL, "TOTALSCORE" NUMBER(5, 1) NOT NULL, "FLAG" VARCHAR2(4 byte) NOT NULL) TABLESPACE "USERS" 过程:graduateprocess CREATE OR REPLACE PROCEDURE "SCOTT"."GRADUATEPROCESS" ( tempzhengzhi in scott.graduate.zhengzhi%type, tempyingyu in scott.graduate.yingyu%type, tempzhuangye1 in scott.graduate.zhuangye1%type, tempzhuangye2 in scott.graduate.zhuangye2%type, tempzhuangye3 in scott.graduate.zhuangye3%type, temptotalscore in scott.result.totalscore%type ) as graduaterecord scott.graduate%rowtype; graduatetotalscore scott.result.totalscore%type; graduateflag varchar2(4); cursor graduatecursor is select * from scott.graduate; errormessage exception; begin open graduatecursor; if graduatecursor%notfound then raise errormessage; end if ; loop fetch graduatecursor into graduaterecord; graduatetotalscore:=graduaterecord.yingyu+graduaterecord.zhengzhi+graduaterecord.zhuangye1+graduaterecord.zhuangye2+graduaterecord.zhuangye3; if(graduaterecord.yingyu>=tempyingyu and graduaterecord.zhengzhi>=tempzhengzhi and graduaterecord.zhuangye1>=tempzhuangye1 and graduaterecord.zhuangye2>=tempzhuangye2 and graduaterecord.zhuangye3>=tempzhuangye3 and graduatetotalscore>=temptotalscore ) then graduateflag:='录取'; else graduateflag:='落选'; end if; exit when graduatecursor%notfound; insert into scott.result(BH,XM,LB,ZHENGZHI,YINGYU,ZHUANGYE1,ZHUANGYE2,ZHUANGYE3,totalscore,flag) VALUES(graduaterecord.bh,graduaterecord.xm,graduaterecord.lb,graduaterecord.zhengzhi,graduaterecord.yingyu,graduaterecord.zhuangye1,graduaterecord.zhuangye2,graduaterecord.zhuangye3,graduatetotalscore,graduateflag); end loop; close graduatecursor; commit; exception when errormessage then dbms_output.put_line('无法打开数据表'); end; 调用主程序执行过程: set serveroutput on declare score1 number(4,1); score2 number(4,1); score3 number(4,1); score4 number(4,1); score5 number(4,1); scoretotal number(5,1); begin score1:=50; score2:=60; score3:=60; score4:=55; score5:=60; scoretotal:=350; scott.graduateprocess(score1,score2,score3,score4,score5,scoretotal); end;
发表评论
-
Jdbc执行很慢,而PLSQL执行快的问题解决
2016-04-14 13:51 12203最近在检查一方法时发现程序执行SQL查询时非常慢,但使用P ... -
org.apache.commons.dbcp.DbcpException: java.sql.SQLException: 不能在 UTF8 和 UCS2 之间
2016-04-07 14:13 1014今天生产环境tomcat启动后,用户登录时系统报错:java ... -
rollup()和rollup(())的区别
2015-08-21 14:50 719引用:http://blog.csdn.net/damen ... -
Oracle hint
2014-09-25 12:31 630转自:http://www.cnblogs.com/ebs ... -
Oracle hint用法
2014-09-25 12:12 4881. /*+ALL_ROWS*/ 表明对语 ... -
Oracle表与索引的分析及索引重建
2014-09-25 12:09 756转自:http://www.cnblogs.co ... -
Oracle的优化器的RBO和CBO方式
2014-09-25 11:30 434转自:http://www.blogjava.net/wx ... -
P6Spy SQL语句拦截工具
2013-08-20 15:58 2053P6Spy P6Spy 是一个可 ... -
ORACLE快照原理及实现总结
2013-03-18 13:23 4220转:http://blog.csdn.net/lingo0 ... -
plsql developer 使用技巧
2013-01-25 17:48 1207plsql developer 使用技巧 Oracle数据 ... -
Oracle字符集查看及修改
2012-12-12 17:04 815Oracle字符集查看及修改 http://blog.csd ... -
Oracle性能优化系列
2012-12-04 13:41 871Oracle删除重复数据的一种高效的方法 Oracle性能优化 ... -
java.sql.SQLException: Io 异常: Got minus one from a read call
2012-12-04 11:14 36168Tomcat服务器下的应用连接Oracle时报错,出现以下异常 ... -
Oracle中round() 函数与trunc()函数的比较
2012-11-29 14:32 921转:http://blog.sina.com.cn/s/blo ... -
Oracle百万记录sql语句优化技巧
2012-11-12 14:56 920转:http://www.cnblogs.com/er ... -
Oracle 获取当前日期及日期格式
2012-11-05 16:26 997转自:http://blog.sina.com.cn/s/bl ... -
Oracle CASE WHEN 用法介绍
2012-11-05 16:19 758转:http://www.cnblogs.com/eshizh ... -
ORACLE 日期加减操作
2012-11-05 15:14 755转自:http://www.cnblogs.c ... -
update关联更新在sqlserver和oracle中的实现[转]
2012-09-18 16:23 1018from: http://www.webjx.com/html ... -
plsql developer导入导出数据库方法
2012-06-15 14:23 1264转:http://blog.csdn.net/leeli198 ...
相关推荐
### Oracle PL/SQL编程核心知识点解析 #### 一、创建基本表与操作 在Oracle数据库中,使用PL/SQL进行数据库编程前,首先需掌握如何创建表与进行基本的CRUD(创建、读取、更新、删除)操作。示例中的`CREATE TABLE`...
本学习笔记涵盖了从基础到进阶的PLSQL知识,旨在帮助读者全面理解和掌握这一强大的数据库编程工具。 1. **基础概念** - **PL/SQL块**:PLSQL程序的基本结构是块,包括声明部分、执行部分和异常处理部分。 - **...
Oracle9i SQL/PLSQL 学习笔记 自己照着书学习时候的笔记。TXT的,比较简单,希望对大家学习有帮助。 其中0 mysqlCmd.txt是我自学mysql时候的笔记,是有关于命令的。大家看看有帮助没有。 都比较精华和简单,适合...
压缩包主要包括15个文档,主要是本人学习oracle过程中的笔记,希望...08-PLSQL和游标结合学习笔记.txt 09-游标学习笔记.txt 10-重要的函数的学习笔记.txt 11-存储过程学习笔记.txt 12-触发器学习笔记.txt 13-pl编码.txt
Oracle PL/SQL 基础知识点总结 Oracle PL/SQL 是一种基于 Oracle 关系数据库管理系统的过程语言,主要用于编写存储过程、函数和触发器等。下面是 Oracle PL/SQL 的基础知识点总结: 一、变量命名规则 * 变量名以...
│ ORACLE学习笔记(二)SQLPLUS基础 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle技巧.txt │ ORACLE的索引和约束详解 - Oracle10g - 沪城篱笆.mht │ oracle里常用命令 - Oracle - 51CTO技术论坛_中国领先的IT...
### 学习的必要性 1. **提高应用程序的运行性能**:通过减少翻译语句的步骤,利用数据库自身的计算能力,可以极大地提升数据处理速度。 2. **模块化设计思想**:通过将常见的数据处理逻辑封装为存储过程或函数,...
Oracle SQL 和 PL/SQL 是...理解这些基本概念和语句是掌握 Oracle SQL 和 PL/SQL 的基础,它们在数据库管理、数据操作和应用开发中起着至关重要的作用。通过不断实践和学习,你可以更高效地管理和维护 Oracle 数据库。
**标题**: oracle笔记二--plsql 编程 **描述**: oracleoracleoracleoracleoracleoracleoracleoracle(推测为占位符文本,无实际意义) **标签**: oracle **部分内容**: 在部分内容中提到了关于Oracle 10g的安装与...
这篇学习笔记主要涵盖了PLSQL的基础概念、语法结构以及在实际应用中的重要技巧。 1. PLSQL的基本结构: PLSQL由声明部分、执行部分和异常处理部分组成。声明部分定义变量、常量、游标等;执行部分包括控制流语句,...
总结来说,PLSQL Developer与Oracle Client的安装和配置是数据库开发的基础。通过本文的介绍,你应该能够理解这两个组件的作用,并掌握基本的安装和配置方法。实际操作时,根据具体的系统环境和需求,可能还需要进行...
### ORACLE_PlSql-甲骨文学习笔记 #### 一、创建表 ##### 创建表一 ```sql CREATE TABLE TABLE_NAME ( AAA INTEGER CONSTRAINT PK_TABLE_NAME PRIMARY KEY, BBB VARCHAR2(10) NOT NULL, DOB DATE, CCC VARCHAR...
### 精通Oracle 10g PL/SQL编程学习笔记 #### 一、PL/SQL综述 **1.1 PL/SQL的功能与作用** PL/SQL (Procedural Language for SQL) 是一种专门为Oracle数据库设计的过程化语言,它结合了SQL的数据处理能力与过程化...
**PL/SQL**(Procedural Language for SQL)是一种过程化语言,它允许开发者在Oracle数据库环境中编写过程式程序单元。这种语言结合了SQL的数据处理功能和传统编程语言的过程控制能力。 ### 二、匿名块 **匿名块**...
### Oracle 数据库学习笔记 #### Oracle DML 数据库操作语言 - **数据插入**: 在 Oracle 数据库中,可以通过 `INSERT` 语句将一个表的部分数据插入到另一个表中。例如,利用 `INSERT INTO table_name (subquery)` ...
### Oracle学习笔记知识点详解 #### 一、Oracle基础概念与常用命令 1. **`desc` 命令**:用于描述表结构。通过输入 `desc 表名` 可以查看该表的所有列信息,包括列名、数据类型、是否为空等。 2. **`dual` 表**...
这些笔记涵盖了SQL和PL/SQL的基础知识,适合初学者了解和掌握数据库操作的基本概念和语法。随着经验的积累,开发者可以深入学习高级特性和最佳实践,如性能优化、并发控制、数据库设计等,以提升在Oracle数据库环境...
Oracle学习笔记是一个面向初学者的资源集合,旨在帮助读者快速入门Oracle数据库系统。Oracle是全球广泛使用的大型关系型数据库管理系统之一,尤其在企业级应用中占据重要地位。这份笔记涵盖了Oracle的基础知识,对于...