1.Oracle下的实例,表空间,用户之间的关系。![]()
2.SQL语句分类 五大类(说法不统一)
DDL(数据定义语言) - Create、Alter、Drop 这些语句自动提交,无需用Commit提交。
DQL(数据查询语言) - Select 查询语句不存在提交问题。
DML(数据操纵语言) - Insert、Update、Delete 这些语句需要Commit才能提交。
DTL(事务控制语言) - Commit、Rollback 事务提交与回滚语句。
DCL(数据控制语言) - Grant、Revoke 授予权限与回收权限语句。
3.Oracle 的登录方式
我们在本地搭建的服务端,是可以采用 操作系统用户验证的方式来登陆的,常用的以下两种:
sqlplus /nolog
conn /as sysdba
或者
sqlplus /as sysdba
很搞笑的是 ,今天写 批处理的 时候 发现 别人这么一条命令:
sqlplus sys/1@orcl as sysdba @kams.lst
当时就纳闷了,我本地的sys密码不是1,但是仍然往下执行,后来发现 其实这里还是采用的 操作系统身份校验登陆的,这个密码是什么都无所谓
sqlplus sys/asd as sysdba
这样也是能登陆的,并不是采用账号密码的形式进入的。
4.2017-05-12 15:20:00
在网上看到的两个比较有用的语句,其实都是学过的,但是嘿嘿
select .. into tb2 from tb1 --(tb2不存在的话会创建ttb2)
insert into tb1 select from tb2 colum1,colum2,3--(除了tb2的属性还可以插入常量)
5.ocilib下载 官网的下载不了 这里可以点击打开链接没翻墙找资源真的麻烦
6.想要封装下oci,复习了下游标
静态游标
在执行前,明确知道
sql
语句游标
a)
显示游标
用户自己写的
sql
语句,编译时能明确知
道
sql
语句
b)
隐式游标
静态游标:执行前已经知道sql语句的游标 细分为显式游标和
隐式游标,显示为用户自己定义,隐式为系统为dml语句默认添加定义的名为sql
ref游标(动态又白哦):执行前知道具体的sql是什么,细分为强类型和弱类型,强类型包含具体的return类型(且为表的%rowtype属性,有待考证),弱类型没有返回值
示例:
--强ref
DECLARE
type c_type is ref cursor return emp%rowtype; --定义游标
c_1 c_type; --实例化这个游标类型
r emp%rowtype;
BEGIN
dbms_output.put_line('行号 姓名 薪水');
open c_1 for select * from emp;
loop
fetch c_1 into r;
exit when c_1%notfound;
dbms_output.put_line(c_1%rowcount||' '||r.ename||' '||r.sal); --输出结果,需要 set serverout on 才能显示.
END LOOP;
close c_1;
END;
--弱ref
set autoprint on;
var c_1 refcursor;
DECLARE
n number;
BEGIN
n:=&请输入;
if n=1 then
open :c_1 for select * from emp;
else
open :c_1 for select * from dept;
end if;
END
在执行前,明确知道
sql
语句游标
a)
显示游标
用户自己写的
sql
语句,编译时能明确知
道
sql
语句
b)
隐式游标