送分oracle文档?谁有

ihihonline 2001-12-14 03:11:58
请问如何在oracle中建库?如何去用oracle?
最好有文档,文档一到,立马给分;
有关oracle文档的资料也可以;
EM: fankuan_11@163.com
先谢谢了

...全文
86 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
combobox 2001-12-14
  • 打赏
  • 举报
回复
我个人的一份学习文档,也许对你有帮助,不过,我没有全部写完
ALTER TABLESPACE USERS
ADD DATAFILE 'FILENAME1'
SIZE 10M 初始大小
AUTOEXTEND ON
NEXT 2M 增量
MAXSIZE 50M 最大空间

ALTER TABLESPACE USERS
ADD DATAFILE 'C:\ORACLE\ORADATA\USERDATA1.DBF'
SIZE 50M
AUTOEXTEND OFF; 不允许增大

--列出系统中数据文件的各项属性
SELECT FILE_NAME,FILE_ID,RELATIVE_FNO,BYTES,AUTOEXTENSIBLE
FROM SYS.DBA_DATA_FILES
ORDER BY FILE_ID

--列出日志文件
SELECT * FROM V$LOGFILE
SELECT * FROM V$LOG

--创建一个视图
CREATE VIEW EMP_VIEW1 AS
SELECT EMPNO,ENAME,DEPTNO
FROM SCOTT.EMP;

--系统的存储过程
(pname varchar2, uname varchar2, dbname varchar2,
flags varchar2, rc OUT varchar2) is
status diutil.ub4 := 0;
lutype varchar2(10);
begin
rc := '';
diutil.pstub(pname, '', uname, dbname, '', status, flags, lutype);
if (status <> diutil.s_ok and status <> diutil.s_defaultVal) then
if (status = diutil.s_subpNotFound) then
rc := '$$$ s_subpNotFound';
elsif (status = diutil.s_stubTooLong) then
rc := '$$$ s_stubTooLong';
elsif (status = diutil.s_logic) then
rc := '$$$ s_logic';
elsif (status = diutil.s_notInPackage) then
rc := '$$$ s_notInPackage';
elsif (status = diutil.s_notv6Compat) then
rc := '$$$ s_notv6Compat';
else rc := '$$$ s_other';
end if;
else rc := lutype;
end if;
end;

(pname varchar2, uname varchar2,
stubSpec in out varchar2, stubText in out varchar2,
flags varchar2 := '6') is
rc varchar2(40);
ty varchar2(5);
cursor tub (una varchar2, dbna varchar2, luna varchar2, luty varchar2) is
select line from sys.pstubtbl
where (una is null or username = una) and
(dbna is null or dbname = dbna) and
lun = luna and lutype = luty
order by lineno;
begin -- main
sys.pstubt(pname, uname, '', flags, rc);
if rc like '$$$%' then stubText := rc; return; end if;
if not (rc = 'PKG' or rc = 'SUB')
then stubText := '$$$ other'; return;
end if;
stubSpec := '';
stubText := '';
if rc = 'PKG' then
for s in tub(uname, '', pname, 'PKS') loop
stubSpec := stubSpec || s.line;
end loop;
end if;
if rc = 'PKG' then ty := 'PKB'; else ty := 'SUB'; end if;
for s in tub(uname, '', pname, ty) loop
stubText := stubText || s.line;
end loop;
end;

(pname varchar2, uname varchar2, dbname varchar2,
flags varchar2, rc OUT varchar2) is
status diutil.ub4 := 0;
lutype varchar2(10);
begin
rc := '';
diutil.pstub(pname, '', uname, dbname, '', status, flags, lutype);
if (status <> diutil.s_ok and status <> diutil.s_defaultVal) then
if (status = diutil.s_subpNotFound) then
rc := '$$$ s_subpNotFound';
elsif (status = diutil.s_stubTooLong) then
rc := '$$$ s_stubTooLong';
elsif (status = diutil.s_logic) then
rc := '$$$ s_logic';
elsif (status = diutil.s_notInPackage) then
rc := '$$$ s_notInPackage';
elsif (status = diutil.s_notv6Compat) then
rc := '$$$ s_notv6Compat';
else rc := '$$$ s_other';
end if;
else rc := lutype;
end if;
end;

(name varchar2, subname varchar2, usr varchar2,
dbname varchar2, dbowner varchar2,
txt in out varchar2) is
status diutil.ub4;

begin -- main
diutil.subptxt(name, subname, usr, dbname, dbowner, txt, status);
if (status <> diutil.s_ok) then
if (status = diutil.s_subpNotFound) then
txt := '$$$ s_subpNotFound';
elsif (status = diutil.s_stubTooLong) then
txt := '$$$ s_stubTooLong';
elsif (status = diutil.s_logic) then
txt := '$$$ s_logic';
elsif (status = diutil.s_notInPackage) then
txt := '$$$ s_notInPackage';
else txt := '$$$ s_other';
end if;
end if;
end subptxt2;

--存储过程的一般格式
CREATE OR REPLACE PROCEDURE "SYS"."PSTUBT" (pname varchar2, uname varchar2, dbname varchar2,
flags varchar2, rc OUT varchar2) is
status diutil.ub4 := 0;
lutype varchar2(10);
begin
rc := '';
diutil.pstub(pname, '', uname, dbname, '', status, flags, lutype);
if (status <> diutil.s_ok and status <> diutil.s_defaultVal) then
if (status = diutil.s_subpNotFound) then
rc := '$$$ s_subpNotFound';
elsif (status = diutil.s_stubTooLong) then
rc := '$$$ s_stubTooLong';
elsif (status = diutil.s_logic) then
rc := '$$$ s_logic';
elsif (status = diutil.s_notInPackage) then
rc := '$$$ s_notInPackage';
elsif (status = diutil.s_notv6Compat) then
rc := '$$$ s_notv6Compat';
else rc := '$$$ s_other';
end if;
else rc := lutype;
end if;
end;

--创建视图
create view v_temp
as
select * from t_tmp;

--删除视图
drop view v_temp;

--创建表
create table lz_temp
(a varchar2(20),
b varchar2(30),
v varchar2(30));

--为表添加列
alter table lz_temp add
( d char(8));

--查看表结构
desc lz_temp;

--创建一个名为:LZ 的角色
create role lz;

--为角色授权
grant insert on tablename_a to lz;
grant insert,delete on tablename_b to lz;
grant select on tablename_c to lz;
grant select,delete,insert,update on tablename_d to lz ;

--把角色赋予用户
grant lz to ops$abbey;
grant lz to ops$teplownd;
grant lz to ops$lane;
grant lz to public;

--创建非唯一索引
create index index_name on lz_temp(a);

--创建唯一索引
create unique index i_t2 on lz_temp(b);

--创建多索引
create unique index i_t3 on lz_temp(a,b,c);
create index i_t3 on lz_temp(a,b,c);

--定义参数
define a='aa'
select * from lz_temp where a='&a';

--报表演示
ttitle center '信息区' right 第 format 9 sql.pno 页
btitle center 'xxx公司'
repheader page center 'sql.plus报表演示'
repfooter skip 2 left sql.user '编制'
set pagesize 13

--PL*SQL程序的组成
DECLARE --声明部分 常量、变量以及用户定义的数据类型
V_NAME VARCHAR2(10);
BEGIN --执行部分 实现数据操作功能
SELECT ENAME INTO V_NAME
FROM EMP;
EXCEPTION --异常错误处理功能
WHEN TOO_MANY_ROWS THEN
''''''
END;

--ORACLE 的数据类型
数字型 NUMBER、 BINARY_INTEGER、 PLS_INTEGER
字符型 CHAR、 VARCHAR2、 NCHAR、 NVARCHAR2、 LONG、 ROWID、 UROWID
二进制型 LONG RAW、 RAW
日期型 DATE
布尔型 BOOLEAN

--只有一个值满足条件,就返回TRUE(ANY)
SELECT * FROM L_T WHERE A =ANY ('aaa','BBB');

--满足全部条件,就返回TRUE(ALL)
SELECT ENAME,DEPTNO
FROM EMP
WHERE SAL > ALL(SELECT SAL FROM EMP WHERE DEPTNO=10)
AND DEPTNO <> 10

--连接运算符(||)
SET SERVEROUTPUT ON;
DECLARE
VAR1 CHAR(10):='THIS ';
VAR2 CHAR(20):='IS AN EXAMPLE ';
VAR3 CHAR(20):='IS ANOTHER EXAMPL';
VAR4 CHAR(30);
BEGIN
VAR4 :=VAR1||VAR2;
DBMZ_OUTPUT.PUT_LINE( VAR4);
VAR4 :=VAR1||VAR3;
DBMZ_OUTPUT.PUT_LINE( VAR4);
END;

--集合运算符
1 UNION :返回两个集合的并集,删除其中的重复行
2 UNION ALL :返回两个集合的并集,包括其中的重复行
3 INTERSECT :返回两个集合的交集
4 MINUS :返回两个集合的差集

select * from lz_temp
union
select * from t_tmp;

--循环结构
1 LOOP
[<<循环标号>>]
LOOP
语句
END LOOP [循环标号];

2 WHILE - LOOP
[<<循环标号>>]
WHILE 条件表达式 LOOP
语句
END LOOP [循环标号];

3 FOR - LOOP
[<<循环标号>>]
FOR 循环变量 IN [REVERSE] 初值表达式..终值表达式 LOOP
语句
END LOOP [循环标号];

--转移语句
goto 标号

--SQL伪列
1 ROWID 返回指定行的标识号
SELECT ROWID ,A,B,C FROM L_T;
2 ROWNUM 查询结果集合中各行的序号
SELECT POWNUM ,A,C FROM L_T;
3 LEVEL 每一个数据行的结构关系
4 CURRVAL 返回当前序列值
5 NEXTVAL 返回下一个序列值

--select 中的from 子句 可以用SAMPLE对表进行随机抽样查询
SAMPLE(随机行抽样) SAMPLE BLOCK (随机块抽样)
SELECT * FROM L_T SAMPLE(30) 抽样率为 :30%
SELECT * FROM L_T SAMPLE BLOCK(50) 抽样率为 :50%

--显示列名
select a 部门编号,b 工资,c 职业 from l_t;

--事务
1 commit :结束当前事务,并将当前事务对数据库所做的所有修改存入数据库永久保存
2 rollback :结束当前事务,并撤销当前事务对数据库所做的所有修改
3 savepoint :在当前事务中命名并标识一个当前事务处理点,可以用在ROLLBACK TO 语句中
以回滚当前事务所作的部分修改,而不是整个事务.
BEGIN
INSERT INTO L_T VALUES('AAA',0,'BBB');
COMMIT; --提交事务
END

BEGIN
DELETE FROM L_T WHERE A='AAA'
SAVEPOINT S1;
INSERT INTO VALUES('BBB',10,'CCC');
ROLLBACK TO SAVEPOINT S1 ; --回滚部分事务
COMMIT;
END

--锁
LOCK TABTLE L_T IN SHARE MODE NOWAIT;

--对SQL*PLUS的文件操作
START C:\A.SQL --执行A.SQL文件
SAVE C:\B.SQL --保存当前缓冲区中的数据,文件名为B.SQL
EDIT C:\B.SQL --编辑B.SQL文件

--数字函数
SIN(N) N的正弦,N为弧度
COS(N) 余弦
TAN(N) 正切
ACOS(N) 反余弦
ATAN(N) 反正切
ATN2(N1,N2) N1/N2的反正切
SINH(N) 双曲正弦
COSH(N) 双曲余弦
TANH(N) 双曲正切
EXP(N) 指数
POWER(M,N) M的N次方
LN(N) N的自然对数,N大于0
LOG(M,N) N以M为底的对数,N,M大于0,M不等于1
ABS(N) 绝对值
MOD(M,N) M除以N的余数
CEIL(N) 返回大于等于N的最小整数
FLOOR(N) 返回小于等于N的最大整数
ROUND(N,[,M]) 四舍五入
TRUNC(N,[,M]) 截取
SQRT(N) N的平方根
SIGN(N) N为整数,0,负数,返回1,0,-1

实例:
SELECT SIN(30*3.14159265359/180) "SIN(30)"
COS(30*3.14159265359/180) "COS(30)"
TAN(30*3.14159265359/180) "TAN(30)"
FROM DUAL --系统表,单列,用于计算或中介查询

--字符函数
initcap(char) 把每个字符串的第一个字符转换成大写
lower(char) 转换成小写
replace(char,str1,str2) 字符串的str1转换成str2
soundex(char) 字符串的语音表示

--字符函数 返回字符值
chr(x) 返回在数据库字符集中相对应的字符 于ASCII互为反函数
concat(string1,string2) 返回STRING1||STRING2
initcap(STRING) STRING中每个单词第一个字母大写
lower(string) 以小写的形式返回string
lpad(string1,x[,stirng2]) 从左向右,在x字符长度的位置嵌入string2中的string1(测试)
ltrim(string1[,string2]) 删除从最左边起出现在string2中的字符的string1,string2空时,默认为空格
nls_initcap(string[,nlsparams]) nlsparams 排序参数,无参数同initcap
nls_lower
nls_upper
replace(string,search_str[,replace_str]) 替换 区别大小写
select REPLACE('THIS AND THAT','TH','B') FROM DUAL;
SELECT REPLACE('THIS AND THAT','TH') FROM DUAL;
SELECT REPLACE('THIS AND THAT','TH',NULL) FROM DUAL;
rpad 同lpad 但是,从右向左
rtrim 同ltrim 但是,是右
soundex(string) 返回String的声音表示形式(Phonetic Repressentation ) .这对于比较两个拼写
不同,但是发音类似的单词很有帮助
例如: select first_name
from students
where soundex (first_name) = soundex('skit');


substr(string,a[,b]); 返回从字母位置a开始有b个字符的String的一部分.字符为单位
例如: select substrb('abc123def',4,4) "first"
from dual;
select substrb('abc123def',-4,4) "first"
from dual;
select substr('abc123def',4,4) "first"
from dual;
select substr('abc123def',-4,4) "first"
from dual;

substrb 和substr相同,但是,是以字节为单位,而不以字符为单位
例如 : select substr('阿三分嘎三等功',1,1) from dual;
结果: '阿';
select substrb('阿三分嘎三等功',1,1) from dual;
结果: ''; 而 :
select substrb('阿三分嘎三等功',1,2) from dual;
结果: '阿';
translate(string,from_str,to_str) 是Replace提供功能的一个超集.
例如: select translate('abcdefghij','abcdef','123456')
from dual;
例如: select translate('abcdefghij','abcdefghij','123456')
from dual;

upper(string) 以大写的形式返回STRING.

--字符函数 返回数字值
ascii
instr
instrb
length
lengthb
nlssort

--日期函数
add_month
last_day
month_between
new_time
next_day
round
sysdate
trunc

--转换函数
chartorowid
convert
hextoraw
rawtohex
rowidtochar
to_char
to_date
to_number
to_single_byte

--分组函数
avg
count
glb
lub
max
min
stddev
sum
variance

--其他函数
bfilename
decode
dump
empty_clob/empty_blob
greatest_lb
least
least_ub
nvl
uid
user
userenv
vsize













部分DDL语句列表 //DDL 语句是自动提交的,不能回滚
alter procedure
alter table
analyze 收集数据库对象的性能统计值并送入基于代价的优化器
alter table add constraint 在已有的表上添加约束
create table
drop index
drop table
grant
truncate 删除表中的所有行
revoke 从用户或数据库角色回收权限

--常用的比较符
=
!=
<>
^= !=
<
>
<=
>=
in 包括
not in 不包括
BETWEEN A AND B 大于等于A与小于等于B
NOT BETWEEN A AND B 不大于等于A与小于等于B
LIKE '%TIN%' 包括'TIN'

ihihonline 2001-12-14
  • 打赏
  • 举报
回复
ぁぁぁぁ






ihihonline 2001-12-14
  • 打赏
  • 举报
回复
我自小英语不行的^V^
如何建库??
xzou 2001-12-14
  • 打赏
  • 举报
回复
http://otn.oracle.com/
www.oradb.net
更多的用搜索引擎查找
ihihonline 2001-12-14
  • 打赏
  • 举报
回复
哎,想学嘛

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧