ORACLE学习笔记(一)
来源:互联网 发布:淘宝开店交钱 编辑:程序博客网 时间:2024/06/05 13:30
一、整体操作:
1、关闭数据库(连接sqlplus以后):
sql>shutdown immediate :immediate表示每个用户处理完最后一个连接后,数据库关闭
2、打开数据库(连接sqlplus以后):
sql>startup
3、ORACLE服务在UNIX系统关闭和重启
oracle 启动命令
su - oracle --转到oracle用户
sqlplus /nolog;
conn /as sysdba;
startup;
exit
lsnrctl start
关闭
su - oracle
sqlplus /nolog;
conn /as sysdba;
shutdown;
exit
4、保存缓冲区中的SQL语句到一个文件:
sql>save c:/test.sql;
5、执行存放sql语句的文件:
sql>@ c:/test.sql;
二、sqlplus语言:
1、变量替换方式:
sql>select * from dept where deptno=&xx :xx为一个变量
2、执行某个文件:
sql>@c:/test.sql
3、查看一表的字段和类型:
sql>desc 表名
4、查看当前的登录账号:
sql>select user from dual;
5、替换表中的空值):
sql>select a,nvl(b,'空值') b from abc;
6、连接分两种:内连接和外连接
内连接:公共匹配的数据,不存在空值
sql>select eid,ename,sex,dname from emp,dep where emp.did=dep.did;
外连接:与内连接相反,存在数据空值
sql>select eid,ename,sex,dname from emp,dep where emp.did=dep.did(+);
sql>select eid,ename,sex,dname from emp,dep where emp.did(+)=dep.did;
7、批量插入数据:
sql>insert into emp(eid,ename) select did,dname from dep;
8、创建表,并插入数据
sql>create table ttt as select did,dname from dep;
三、pl/sql基础:
1、循环:
declare
x number;
begin
--loop循环
x:=0;
loop
x:=x+1;
if x>=3 then
exit;
end if;
exit when x>=3;
dbms_output.put_line('内:'||x);
end loop;
dbms_output.put_line('外:'||x);
end;
/
declare
x number;
begin
--while循环
x:=0;
while x<=3 loop
x:=x+1;
dbms_output.put_line('内:'||x);
end loop;
dbms_output.put_line('外:'||x);
end;
/
declare
x number;
begin
--for循环
x:=0;
for i in 1..5 loop
dbms_output.put_line('i='||i);
end loop;
for i in reverse 1..5 loop
dbms_output.put_line('i='||i);
end loop;
dbms_output.put_line('外:'||x);
end;
/
2、异常:
1)系统异常:no_data_found
2)自定义异常
例子:
--系统异常:
/*
declare
n varchar2(20);
begin
select ename into n from emp where eid='007';
dbms_output.put_line(n);
exception
when no_data_found then
dbms_output.put_line('没有数据');
end;
*/
--自定义异常:
declare
n varchar2(20);
e exception;
begin
select ename into n from emp where eid='001';
if n<>'xx' then
raise e;
end if;
dbms_output.put_line(n);
exception
when e then
dbms_output.put_line('不是需要的部门');
end;
/
3、复合变量:记录
--定义记录
/*
DECLARE
TYPE myrecord IS RECORD
(
--1)普通定义变量方式
--eid varchar2(10),
--ename varchar2(20)
--2)用数据库中的字段定义变量
eid emp.eid%TYPE,
ename emp.ename%TYPE
);
--声明记录变量
my MYRECORD;
BEGIN
--查询并赋值给变量
SELECT eid,ename INTO my FROM emp WHERE eid='001';
DBMS_OUTPUT.PUT_LINE(my.eid||','||my.ename);
END;
*/
--用数据库中的行类型定义记录
DECLARE
my emp%ROWTYPE; --定义记录
BEGIN
SELECT * INTO my FROM emp WHERE eid='001';
DBMS_OUTPUT.PUT_LINE(my.eid||','||my.ename||','||my.sex);
END;
/
- Oracle学习笔记(一)
- ORACLE学习笔记(一)
- ORACLE学习笔记(一)
- ORACLE学习笔记(一)
- Oracle学习笔记(一)
- Oracle学习笔记(一)
- Oracle学习笔记(一)
- Oracle学习笔记(一)
- Oracle学习笔记(一)
- oracle学习笔记(一)
- oracle学习笔记(一)
- Oracle学习笔记(一)
- ORACLE学习笔记(一)
- Oracle学习笔记(一)
- Oracle学习笔记(一)
- Oracle学习笔记(一)
- Oracle学习笔记(一)
- Oracle学习笔记(一)
- GUI,window manager,desktop,和interface间的联系
- 对 X, GUI 更详细的解释
- 更新多行函数
- 奥运纪念金币第一组
- 奥运纪念金币第二组
- ORACLE学习笔记(一)
- C#中关于集合的一个小例子
- 自已整理的C#常用指令
- 给CSDN博客侧栏添加搜索功能
- treeview_AfterSelect问题 c# c++
- 新标日语初级第28课应用课文默写
- 美女18岁创业20岁开宝马:这样的类似小广告煽动模式能成功运作吗?(评xyz28.com)
- 基金首只QDII产品进入审批 蓄势待发
- IDP 规划