Oracle的相关学习

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)

 

隐式游标




猜你喜欢

转载自blog.csdn.net/aricover/article/details/53091223
今日推荐