Oracle存储过程从零到入门


1.以下所说为Oracle存储过程!

2.注重存储过程的编写、调试、和运用的流程,不注重太多语法的介绍!

3.只要你懂sql语句就可以继续往下看了!

4.一个存储过程不是属于哪个table的,而是属于一个用户的(在oracle来说)。

5.现在可以编写存储过程了,如果你是一个oralce新手应该也知道plsql这个东西。

在plsql里新建一个 sql window,在这里写存储过程的语句。

5.一个最简单的存储过程

  1. create or replace procedure test is  
  2. begin  
  3. null;  
  4. end test;  
  5. /  

解释:create 创建;

replace 如果存在则替换;

procedure 告诉数据库你要创建或替换的是一个存储过程;

test 你创建的存储过程的名字;

begin 固定的,表示要开始写了;

null oracle规定begin和end之间至少有一句话;

end test 表示存储过程结束,test是对应上面你创建的存储过程名字,注意该写分号的地方要写分号;

/ 这个是可以不写的,但还是写的好,下面会告诉你它是干啥用的。

6.恭喜你,你已经会写存储过程了。那么这个存储过程该怎么生效呢?

好,请选中上面5行语句,按执行(F8);好了,在左边objects窗口下有个Procedures文件夹,打开就可以看到有你写的存储过程test。

这表示数据库已经有你的存储过程,你可以调用这个存储过程了。

7.现在存储过程还只是挂在数据库上,如果不被执行(与F8的执行不是一个意思)或者不被调用,那它只是垃圾。

所以,现在你要知道如何执行存储过程了。

请先把上面的5行语句存为一个sql文件,如:test.sql。

打开命令行(运行 cmd)cd到test.sql所在的文件目录;

输入sqlplus name/password@orcl;这是进入sqlplus的命令,如果你不懂是啥意思,请去google。

好,如果你进来了,应该是看到sql>;

恩,可以开始了。输入:@test。(命令不包括:和。其中test是test.sql的文件名)。

还记得上面5行语句的最后一行有个 / 吗?如果没有这个 / 那么现在你应该再输入一个 / 才能完成这个执行文件的命令。

如果提示成功,ok,继续!

再输入一条命令:execute test。(命令不包括:和。其中execute就是执行存储过程了,执行的意思就是说,如果你存储过程里有一个insert语句,那只有execute才是在执行插入操作,而且前面的什么F8、@test之类的都不是。test是你创建的存储过程的名字)。

如果提示成功了,ok,结束。

  • 1
  • 2
  • 下一页

相关内容