ITPub博客

首页 > 数据库 > Oracle > plsql开发语言基础

plsql开发语言基础

原创 Oracle 作者:531968912 时间:2016-06-30 17:50:09 0 删除 编辑
plsql 匿名块:
 set serveroutput on;
begin
for i in 1..10 loop
dbms_output.put_line('zhanggaoang');
end loop;
end;


for 循环 插入数据
begin
for i in 1..100 loop
insert into zag values('x',i);
end loop;
end;
/
 commit;


declare匿名块:
 

declare
    x varchar2(40):='my first pl/sql';
  begin
  dbms_output.put_line(x);
 end;
 /

cursor --游标



declare
x t.id%type;
cursor c is select * from zag;
begin
open c;
loop
fetch c into x;
exit when c%notfound;
dbms_output.put_line('id is '||x);
end loop;
close c;
end;
 

存储过程:

语法:



CREATE [OR REPLACE] PROCEDURE Procedure_name
   [ (argment [ { IN | IN OUT }] Type,
argment [ { IN | OUT | IN OUT } ] Type ]
   { IS | AS }
   <类型.变量的说明>
BEGIN
   <执行部分>
EXCEPTION
   <可选的异常错误处理程序>
END;


存储过程例子:
删除指定员工记录
CREATE OR REPLACE PROCEDURE DelEmp(v_empno IN emp.empno%TYPE) AS
   No_result EXCEPTION;
BEGIN
DELETE FROM emp WHERE empno=v_empno;
IF SQL%NOTFOUND THEN
RAISE no_result;
END IF;
DBMS_OUTPUT.PUT_LINE('编码为'||v_empno||'的员工已被除名!');


函数
???? 函数要返回一个结果。
???? 函数可以在SQL语句中调用。
CREATE [OR REPLACE] FUNCTION function_name
   [(argment [ { IN| IN OUT }] type,
argment [ { IN | OUT | IN OUT } ] type]
   RETURN return_type
   { IS | AS }
   <类型.变量的说明>
BEGIN
   FUNCTION_body
EXCEPTION
   其它语句
END;

EXCEPTION
WHEN no_result THEN
DBMS_OUTPUT.PUT_LINE('你需要的数据不存在!');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('发生其它错误!');
END DelEmp;

一个简单的函数--加法

SQL> ed
已写入 file afiedt.buf
1 create or replace function mysum(a in number,b in number)
2 return number is
3 v_sum number;
4 begin
5 v_sum:=a+b;
6 return v_sum;
7* end mysum;
SQL> /
函数已创建。
SQL> select mysum(1,2) from dual;
MYSUM(1,2)
----------
3






来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25462274/viewspace-2121296/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 物化视图
请登录后发表评论 登录
全部评论

注册时间:2014-09-24

  • 博文量
    576
  • 访问量
    1111437