锁定老帖子 主题:oracle 9i 学习 过程
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-12-16
最后修改:2010-12-20
之前已经安半了数据 oracle 9i ,很久没发,用 plsql 连,出现:ORA-12514 。在网上看了。 是:C:\oracle\ora92\network\admin\tnsnames.ora 文件,没有配置本地的数据,通过C:\oracle\ora92\network\admin\listener.ora 看到信息在tnsnames.ora 文件增加了配置如下:
oracle9i =
就OK了。
2.Oracle9i创建表空间 用sys帐号登陆,连接身份选SYSDBA,执行如下语句 // 创建表空间 create tablespace test DATAFILE 'D:\oracle\oradata\test\test.dbf' alter user scott quota unlimited on test; 创建了一个名为test的表空间,数据库文件创建 在D:\oracle\oradata\test\test.dbf,并给scott 帐号授权使用表空间。 //创建scott用户 并分配表空间 drop user scott cascade; //创建完毕后授权 Grant connect,resource,DBA to scott;
//sql plus 中执行.sql 文件 @d:\xzsp_hrb_oracle_doc.sql //创建一个名为manager的角色 create role manager; //给manager这个角色授于相应的系统权限 grant create table,create view,create session to manager; //授予针对某个对象的权限如查询某个表的权限 grant select on 表名字 to manager; //可以把一个权限同时赋予多个角色或者用户,但不能把多个权限同时赋予多个角色或者用户,需分开执行。 //把manager这个角色分配给scott,xzsp两个帐号。 grant manager to scott,xzsp; //修改帐号scott密码为tiger alter user scott identified by baobao; //scott用户建的表,如果想给其他用户权限则必须用scott用户登陆后执行如下语句,即使你是DBA也不把 一个用户(scott)所创建的表赋予给另外一个用户(xzsp)操作的权限,除非scott用户给DBA授权。 grant select on 表名字 to xzsp; grant select on employees to scott,xzsp; //用scott用户登陆 给system授权 grant select on student to system with grant option; //用system 登陆,再把查询student的权限授予另外一个用户。 grant select on scott.student to xzsp; //system同时可取消xzsp用户的该权限。 revoke select on scott.student from xzsp; 权限传递的级联:scott用户把权限给A(同时允许A传递给其他用户 with grand option),A把权限再传递给B,如果scott用户撤消A的权限,则B也会失去相应的权限。 grant update (department_name,location_id) on departments to scott,xzsp; //授予用户修改某个表中指定字段的权限。 grant select,insert on departments to scott with grant option; //把查询,增加departments表的权限给scott用户并允许他把权限授予给其他拥护。 grant select on scott.departments to public; //授予public 角色查询scott下departments表的权限。 //访问其他数据库对象(database links) create public database link hq.acme.com using 'sales'; select * from emp@hq.acme.com //emp为表名
CREATE USER 创建一个用户(通常由DBA来完成)。 GRANT 给于其他用户使用你自己对象的权限。 CREATE ROLE 创建一个权限的集合,即角色。 ALTER USER 修改一个用户的密码。 REVOKE 撤消一个用户在某个对象上的权限,如 表 视图等。
3.导入导出
exp scott/123456 owner=scott file=d:/scott.dmp log=d:/scott.log exp asxa/123456@192.168.1.132 owner=mmsa file=d:/scott.dmp log=d:/scott.log
imp scott/123456 fromuser=asxa touser=scott file=d:/scott.dmp
USERID 用户名/口令 下列关键字仅用于可传输的表空间
USERID 用户名/口令 下列关键字仅用于可传输的表空间
------------------------------查看用户权限-------------------------------------------------------------- 1.查看所有用户:
Oracle 9i基本SQL操作
----------把一个表的数据拷到另一个相同结构的表 ---------创建表---------- -- 创建班级表 Create table class -- 删除表class drop table class cascade constraint;
drop table course cascade constraint;
alter table student add email varchar2(30); ------在学生表中增加字段:email地址;------- alter table course modify course_book varchar2(36); ------增加课程表字段"教科书"的长度;------- alter table score modify score_Total default 0; ------设置成绩表的总评成绩字段缺省值为0;-----
create index score_index on score(score_stu_id,score_course_id); --------约束条件的创建-------
--如果在表创建时已创建主键,可不再单独创建主键 alter table class add constraint pk_class_id primary key; alter table student add constraint pk_stu_03 primary key; alter table score add constraint pk_score_03 primary key;
alter table student add constraint fk_class foreign key (stu_class_id) references class(class_id); alter table score add constraint fk_stu_id foreign key(score_stu_id) references student(stu_id); alter table score add constraint fk_course_id foreign key(score_course_id) references course(course_id);
alter table student add constraint ck_stu_gender check( stu_gender in (0,1) );
insert into class values(031,jsj,to_date(2003-09-01,yyyy-mm-dd,30,good); insert into student insert into student values(002,huarong,0,to_date(1977-09-22,yyyy-mm-dd),hunan,135,e209,032,wxin004@126.com); insert into course values(001,c++,jixietushu); insert into score values(001,001,90.00,90.00,90.00); commit;
update course set coursename=cyuyan where coursename=c++; commit; ----------修改数据 和 事务控制语句------------ delete student; delete score; delete class; commit;
1)查询学生名称、编号、性别、生日(按yyyy-mm-dd显示)、所在班级的名称,其中,0显示为“男”,1显示为“女”(decode函数); select a.stu_name ,a.stu_id , decode(a.stu_gender,0,男,1,女) 性别,
select a.stu_id,a.stu_name, b.course_name, c.score_pingshi 平时,c.score_final 期末,c.score_Total 总成绩
select * from student where stu_class_id =
select stu_id,score_Total from score where score_course_id = 001
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 2707 次