回 帖 发 新 帖 刷新版面

主题:oracle中的基本语句

Windows中的Oracle服务简介
OracleHOME_NAMETNSListener  /此服务是Oracle服务器的临听程序
OracleServiceSID            /此服务是为名SID(系统标识符)
OracleHOME_NAMEAgent        /此服务用于执行作业和临控oracle服务或对象的性能
OracleHOME_NAMEHTTPServer   /此服务用于启动oracle HTTP服务器
OracleHOME_NAMEManagementServer /管理服务器是Oracle企业管理器的中间层

//创建用记名
create user hyf identified by hyf

//授权用户登录
grant connect to hyf

//授予用户有system用户的权限
grant dba to hyf

//授予用户建表权限
grant resource to ticket_header

//流动条
clear screen

 


//授予hyf1增删改查
grant all on ticket_header to hyf1;


锁 ---行级锁  和 表级锁
select * from table where for update of 列名
wait 5

表级锁
lock table table_name in <lock_mode> mode [nowait]

<lock_mode>:为锁定的模式(
行共享:(row share,rs)        允许其他用户访问和锁定该表,
但是禁止排他锁定整个表  

行排他: (row exclusive,rx)    与行共享模式相同,同时禁止其他用户在此
表上使用共享锁,使用select....for update 语句会在表上自动应用行排他锁。

共享: (share,s) : 共享行排他:(share row exclusive,srx):执行比共享
表锁更多的限制,防止或他事务在表上应用共享锁,共享行排他锁以用排他锁。

排他:(exclusive,x) 对表执行最大限制,除了允许其他用户查询该表的记录,
排他锁防止其他事务对表做任何更改或在表上应用任何类型的锁



create table ticket_header(

fleet_id number(5),
ticket_no varchar2(6),
origin varchar2(6),
destination varchar2(6),
adults number(1)
);


create synonym tick for ticket_header;

//创建公用同义词
create public synonym pub_tick for ticket_header;

//删除同义词
drop public synonym pub_tick;

//创建一个名这"new_seq"的序列,序列的初始值为25,
每次获取序列值时,该值都增加2,直到序列值达到75,然后重新从25开始

create sequence new_seq
  increment by 2
  start with 25
  maxvalue 75
  minvalue 25
  cycle 
  nocache;
执行下列语句显示序列的下一个值
select new_seq.nextval from dual;

执行下列语句以显示序列的当前值
select new_seq_currval from dual;

//更改序列
alter sequence new_seq increment by 5;

//删除序列
drop sequence new_seq;

//创建视图
create view fleet (day,route_id)
as select day,route_id from fleet_header;

//修改视图
create or replace view fleet as select * from fleet_header;

//删除视图
drop view double;
详情:[url=http://]www.nengdongyingyu.com[/url]

回复列表 (共1个回复)

沙发


1、Oracle与SQL Server、mysql不同,一个服务器上装好几个数据库。Oracle一个数据库就可以支持很大的应用,而且每个数据库都有自己独立的内存结构和一组服务进程。你登录Oracle的话其实就是连接到了某个数据库对应的实例上,所以没有你想要的语句来查有几个数据库。不过你可以这样,运行dbca命令,然后选择删除数据库,你就可以看到系统当前安装了哪几个数据库。
2、查看当前用户的方案(schema)中有哪些表:
   select table_name from user_tables;
     查看当前数据库中有哪些表(需要dba权限,而且表的数量非常庞大):
   select table_name from user_tables;
3、desc  tablename
[url]http://www.ithuhang.com[/url]

我来回复

您尚未登录,请登录后再回复。点此登录或注册