符合中小企业对网站设计、功能常规化式的企业展示型网站建设
本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...
商城网站建设因基本功能的需求不同费用上面也有很大的差别...
手机微信网站开发、微信官网、微信商城网站...
如何学习Oracle?
在卓资等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站建设 网站设计制作按需网站开发,公司网站建设,企业网站建设,品牌网站制作,全网营销推广,成都外贸网站制作,卓资网站建设费用合理。
经常有一些Oracle的初学者问到这个问题,这里算是一个统一答复。
1、如果有一定的数据库基础,知道SQL是怎么回事,即使写不出来简单的SQL,但可以看动它们,你就可以跳到2。否则请先看一下数据库基础和SQL语言,不需要很深,更不需要去记忆那些复杂的SQL命令,这些可以留在以后边应用边学习、记忆。
2、要想学好ORACLE,首先要学习ORACLE的体系结构,现在你不需要深入理解它们,但要分清几个关键的概念:
instance database,
memory structure , process those files ,such as data file, control file, init parameter file etc
以及database , tablespace , data file和tablespace, segmnet, extent block它们之间的关系。
当然还要分清undo tablespace redo log file等,
对于很多初学者来说,能够对这些概念有个较为清晰的认识并不是一件容易的事,而这些并非Oracle的全部。
3、2是有关ORACLE的一些基本概念,下面要学习的是一些简单的的实际操作,就是如何去管理ORACLE数据库,当然不是管理全部的ORACLE。在此过程中你将对SQL和ORACLE体系结构有个更深入的了解。
4、到了这一步你基本上算是初步掌握了ORACLE,下面将要根据你的方向来具体学习其它的ORACLE知识了。如果你是开发人员,则需要更多地去学习PL/SQL以及DEVELOPER,而这将是一门新的课程。如果你是一名DBA,请继续。
5、现在你可以根据自己的实际情况,进行有选择的学习,也就是说下面的内容没有特别顺序要求。可以选择深入学习ORACLE的管理、备份与恢复、性能调整、网络等。当然在学习这些知识的过程中,如果有实际的工作更好,这样你可以在实际中成长,学会TROUBLE SHOOTING。
6、当然在学习的过程中,你可以在网站或论坛中与他人进行交流,可以看别人的一些经验文章,也可以自己写一些心得体会。
在此也希望你能早日好学好你的oracle!
在ORACLE中查询前100条记录的语句的书写方法是:proc sql outobs=100;select * from table1;quit。
用SAS写SQL就应该用它里面自带的一些功能,可能会更简单。
查询一个表中所有字段都相同的记录: 比如现在有一人员表 (表名:peosons) 若想将姓名、编号、住址这三个字段完全相同的记录查询出来:
select p1.* from persons p1,persons p2 where p1.name=p2.name and p1.id = p2.id and p1.address=p2.address group by p1.name,p1.id,p1.address having count(*) 1;
java 存储过程今后在各大数据库厂商中越来越流行,功能也越来越强大。这里以 Oracle 为例,介绍一下java 存储过程的具体用法。 一、如何创建java 存储过程? 通常有三种方法来创建java 存储过程。 1. 使用oracle 的sql 语句来创建: e.g. 使用create or replace and compile java source named "" as 后边跟上java 源程序。要求类的方法必须是public static 的,才能用于存储过程。 SQL create or replace and compile java source named "javademo1" 2 as 3 import java.sql.*; 4 public class JavaDemo1 5 { 6 public static void main(String[] args) 7 { 8 System.out.println("hello, java demo1"); 9 } 10 } 11 / Java 已创建。 SQL show errors java source "javademo1" 没有错误。 SQL create or replace procedure javademo1 2 as 3 language java name 'JavaDemo1.main(java.lang.String[])'; 4 / 过程已创建。 SQL set serveroutput on size 5000 SQL call dbms_java.set_output(5000); --java 语言向控制台输出 SQL execute javademo1(); --execute 存储过程名称 hello, java demo1 调用完成。 2. 使用外部class 文件来装载创建 Class 文件放置在其他目录下调用方法 e.g. 这里既然用到了外部文件,必然要将class 文件放到oracle Server 的某一目录下边。 public class OracleJavaProc { public static void main(String[] argv) { System.out.println("It's a Java Oracle procedure."); } } SQL grant create any directory to scott; 授权成功。 SQL conn 已连接。 SQL create or replace directory test_dir as 'd:/oracle'; 目录已创建。 using -- 使用 bfile---外部文件 SQL create or replace java class using bfile(test_dir, 'OracleJavaProc.CLASS') 2 / Java 已创建。 SQL create or replace procedure testjavaproc as language java name 'OracleJavaProc.main(java.lang.String[])'; 2 / 过程已创建。 SQL call testjavaproc(); 调用完成。 SQL execute testjavaproc; PL/SQL 过程已成功完成。 SQL set serveroutput on size 5000 SQL call dbms_java.set_output(5000); 调用完成。 SQL execute testjavaproc; It's a Java Oracle procedure. 3. 我推荐的一种方法,直接使用loadjava 命令远程装载并创建。 先创建一个类, e.g. import java.sql.*; import oracle.jdbc.*; public class OracleJavaProc { //Add a salgrade to the database. public static void addSalGrade(int grade, int losal, int hisal) { System.out.println("Creating new salgrade for EMPLOYEE..."); try { Connection conn = DriverManager.getConnection("jdbc:default:connection:"); String sql = "INSERT INTO salgrade " + "(GRADE,LOSAL,HISAL) " + "VALUES(?,?,?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1,grade); pstmt.setInt(2,losal); pstmt.setInt(3,hisal); pstmt.executeUpdate(); pstmt.close(); } catch(SQLException e) { System.err.println("ERROR! Adding Salgrade: " + e.getMessage()); } } } 使用loadjava 命令将其装载到服务器端并编译: D:eclipse3.1workspacedbtestloadjava -u -v -resolve Or acleJavaProc.java arguments: '-u' '-v' '-resolve' 'OracleJavaProc.java' creating : source OracleJavaProc loading : source OracleJavaProc resolving: source OracleJavaProc 查询一下状态: 连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Production SQL SELECT object_name, object_type, status FROM user_objects WHERE object_type LIKE 'JAVA%'; OBJECT_NAME -------------------------------------------------------------------------------- OBJECT_TYPE STATUS ------------------------------------ -------------- OracleJavaProc JAVA CLASS VALID OracleJavaProc JAVA SOURCE VALID 测试一下存储过程: SQL create or replace procedure add_salgrade(id number, losal number, hisal num ber) as language java name 'OracleJavaProc.addSalGrade(int, int, int)'; 2 / 过程已创建。 SQL set serveroutput on size 2000 SQL call dbms_java.set_output(2000); 调用完成。 SQL execute add_salgrade(6, 10000, 15000); Creating new salgrade for EMPLOYEE... PL/SQL 过程已成功完成。 SQL select * from salgrade where grade=6; GRADE LOSAL HISAL ---------- ---------- ---------- 6 10000 15000 二、如何更新你已经编写的java 存储过程? 假如要往类OracleJavaProc 里添加一个存储过程方法,如何开发? 正确的步骤应该是先dropjava, 改程序,再loadjava。 e.g.修改OracleJavaProc 类内容如下: import java.sql.*; import oracle.jdbc.*; public class OracleJavaProc { // Add a salgrade to the database. public static void addSalGrade(int grade, int losal, int hisal) ...{ System.out.println("Creating new salgrade for EMPLOYEE..."); try ...{ Connection conn = DriverManager.getConnection("jdbc:default:connection:"); String sql = "INSERT INTO salgrade " + "(GRADE,LOSAL,HISAL) " + "VALUES(?,?,?
01.CREATE OR REPLACE FUNCTION get_short_name(p_username VARCHAR2) RETURN VARCHAR2 IS
02.v_username VARCHAR2(1000);
03.
04.BEGIN
05.v_username := p_username;
06.
07.IF INSTR(v_username, 'TenGigabitEthernet') 0 THEN
08.v_username := REPLACE(v_username, 'TenGigabitEthernet', 'TGE');
09.END IF;
10.
11.RETURN v_username;
12.
13.EXCEPTION
14.WHEN NO_DATA_FOUND THEN
15.return null;
16.WHEN OTHERS THEN
17.return null;
18.
19.END get_short_name;