oracle 数据库与sql数据库有一定的区别,我也是正在学习Oracle 我也是在学习刚入门的知识,比如如何监听程序,开启服务,以及创建数据库表,crud语句以及有参数和无参数的存储过程以及调用,因为最近我在学习iBATIS,这是一个与hibernate类似的,都是可以访问数据库的一个框架,iBATIS比较小型,没有hibernate那么出名,在网上的资料也不多,所以就只有自己摸索了。
你也是刚学习Oracle 所以我把自己这段入门的Oracle入门知识跟你分享一下吧,首先你得安装Oracle以及pl_sql developer 这两个软件,其中pl_sql developer就好比为我们提供一个客户端操作的界面,在这里面,你可以创建表,执行sql语句等等,对于刚入门的话,你既然是访问客户的数据库,就需要配置监听服务了,也就是监听你的客户的Oracle数据库,这个监听程序在Oracle的配置与移植工具中的net manager中可以配置,这是第一步,也是很重要的,在这里,你需要连接上客户的ip以及客户的Oracle数据库的名字,这样局可以配置监听了,然后在新建一个服务,也就是你可以访问到客户的数据库,然后就是在运行框中输入services.msc这样可以打开服务,找到Oracle的OracleOraDb10g_home1TNSListener 服务以及OracleServiceORACLETEST服务,开启这两个服务就可以了。创建数据库需要在Oracle的配置与移植工具中的database configuration assistant中一步步创建数据库,Oracle数据库对于权限问题要求很严格,做任何操作的时候需要赋予这个角色某一个权限,才可以对数据库进行增删查改,要不然,就无法操作,下面我把自己最近学的Oracle入门知识与你分享一下,有些许注释的,希望对你有帮助!!我还有一些入门知识的课件以及一些资料,你把扣扣邮箱发给我,我可以发给你了……
1 --创建学生表
2 create table student(
3 sid number(4) primary key,
4 sname varchar2(20),
5 major varchar2(20),
6 birth date default sysdate,
7 score number(5,2)
8 );
9 --创建student表的中的主键序列
10 create sequence student_pk_seq;
11 --向表中插入数据
12 insert into student(sid,sname,major,birth,score)
13 values(1,'test123','一班',to_date('2011-02-20','yyyy-mm-dd'),89.00);
14 insert into student(sid,sname,major,birth,score)
15 values(2,'test456','一班',to_date('2011-02-20','yyyy-mm-dd'),89.00);
16 insert into student(sid,sname,major,birth,score)
17 values(3,'test789','二班',to_date('2011-03-20','yyyy-mm-dd'),90.00);
18 insert into student(sid,sname,major,birth,score)
19 values(4,'testaaa','二班',to_date('2011-03-20','yyyy-mm-dd'),63.00);
20 insert into student(sid,sname,major,birth,score)
21 values(5,'testaab','三班',to_date('2011-04-20','yyyy-mm-dd'),70.00);
22 insert into student(sid,sname,major,birth,score)
23 values(6,'testaac','三班',to_date('2011-05-20','yyyy-mm-dd'),85.00);
24 insert into student(sid,sname,major,birth,score)
25 values(7,'testaad','一班',to_date('2011-06-20','yyyy-mm-dd'),69.00);
26 insert into student(sid,sname,major,birth,score)
27 values(8,'testaae','二班',to_date('2011-07-20','yyyy-mm-dd'),87.00);
28
29 --创建无参的存储过程
30 create or replace procedure myproc1
31 is
32 begin
33 insert into student(sid,sname,major,birth,score)
34 values(student_pk_seq.nextval,'testlsh123','class2',sysdate,100);
35 end;
36
37 ----创建有参的存储过程
38 create or replace procedure myproc2(vid in varchar2)
39 is
40 begin
41 update student set sname='hellword' where sid=vid;
42 end;
43
44 --创建多个参数的存储过程
45 create or replace procedure myproc3(vname in varchar2,vid in number)
46 is
47 begin
48 update student set sname=vname where sid=vid;
49 end;
50
51
52
53 --创建表
54 create table USER_TB(
55 USER_ID NUMBER(10) PRIMARY KEY,
56 USER_NAME VARCHAR2(20),
57 USER_AGE VARCHAR(2)
58 );
59 --删除表
60 drop table USER_TB;
61 --修改表
62 ALTER TABLE USER_TB ADD (
63 USER_SEX VARCHAR(2) NULL
64
65 );
66 --查询表所有内容
67 SELECT * FROM USER_TB;
68 --将system的所有权限赋给scott
69 grant dba to SCOTT;
70 --插入记录
71 INSERT INTO USER_TB(
72 USER_ID,USER_NAME,USER_AGE,USER_SEX
73
74 ) VALUES(
75 3,'ZHOU',23,'M'
76 );
77 --更新记录
78 UPDATE USER_TB SET USER_NAME='MR ZHOU' WHERE USER_ID=1;
79 --删除记录
80 DELETE FROM USER_TB WHERE USER_ID=1;
81 --创建存储过程
82 CREATE PROCEDURE DELDATA
83 BEGIN
84 DELETE FROM USER_TB WHERE USER_ID=3;
85 END;
86 --执行存储过程
87 BEGIN
88 DELDATA;
89 END;
90 --创建或替换带参的存储过程
91 CREATE OR REPLACE PROCEDURE DELWITHID(
92 U_ID IN NUMBER,U_NAME OUT VARCHAR2
93 )AS
94 BEGIN
95 SELECT USER_NAME INTO U_NAME FROM USER_TB WHERE USER_ID=U_ID;
96 DELETE FROM USER_TB WHERE USER_ID=U_ID;
97 DBMS_OUTPUT.put_line(U_NAME);
98 END;
99 --执行带参的存储过程
100 DECLARE UID NUMBER(10);UNAME VARCHAR2(20);
101 BEGIN
102 UID:=3;
103 DELWITHID(UID,UNAME);
104 END;
楼上给你说的挺详细,你可以作参考