oracle中的存储过程怎么写Oracle存储过程写法实例
总结项目中写的存储过程例子:
Oracle存储过程基本语法 存储过程
1CREATE OR REPLACE PROCEDURE 存储过程名
2IS/AS
3BEGIN
4NULL;
5EXCEIPTION;
6END;
1、创建存储过程,后面可用is或者as:
create or replace procedure PRO_COMPLAIN_TEMPLATE as
2、定义变量,此处用到了%TYPE和%ROWTYPE , 参考 /database/201211/168564.html,另外定义了一个游标,TEM_INSTANCE TEMPLATE_CUR%ROWTYPE这个类型定义必须要在游标定义之后:
NEED_DO_FOR_ZL INTEGER;
CURRENT_MAX_ID MEMO_TEMPLET.TEMPLET_ID%TYPE;
CURSOR TEMPLATE_CUR IS SELECT TEMPLET_NAME, TEMPLET_CONTENT FROM SYS_COMPLAINT_TEMPLET;
TEM_INSTANCE TEMPLATE_CUR%ROWTYPE;
3、begin开始块:
begin
4、该插入语句使用了DBLINK,还有使用DBMS_OUTPUT.put_line('打印信息')进行信息输出:
insert into MEMO_TEMPLET (TEMPLET_ID, TEMPLET_CONTENT, TEMPLET_TYPE, TEMPLET_MEMO) (SELECT * FROM MEMO_TEMPLET@COMPANY);
SELECT COUNT(*) INTO NEED_DO_FOR_ZL FROM SYS_COMPLAINT_TEMPLET;
IF(NEED_DO_FOR_ZL0) THEN
DBMS_OUTPUT.put_line('打印信息');
SELECT MAX(TEMPLET_ID) 1 INTO CURRENT_MAX_ID FROM MEMO_TEMPLET;
DBMS_OUTPUT.put_line('MEMO_TEMPLET最大ID' || CURRENT_MAX_ID);
FOR TEM_INSTANCE IN TEMPLATE_CUR LOOP
INSERT INTO MEMO_TEMPLET (TEMPLET_ID, TEMPLET_CONTENT,
TEMPLET_TYPE, TEMPLET_MEMO) VALUES (CURRENT_MAX_ID,
TEM_INSTANCE.TEMPLET_CONTENT, '7', NULL);
CURRENT_MAX_ID := CURRENT_MAX_ID1;
DBMS_OUTPUT.put_line(TEM_INSTANCE.TEMPLET_CONTENT);
END LOOP;
END IF;
COMMIT;
4、exception块,使用WHEN OTHERS THEN,其中用raise可显示错误信息:
exception
WHEN OTHERS THEN
DBMS_OUTPUT.put_line('sqlcode : ' ||sqlcode);
raise;
ROLLBACK;
IF TEMPLATE_CUR%ISOPEN THEN
CLOSE TEMPLATE_CUR;
END IF;
DBMS_OUTPUT.put_line('打印信息');
end;
注:关于游标的使用,如果像本例中使用for循环去遍历游标的话则不需要显式的去用open/close
cursor打开和关闭游标,此处会自己处理,如果使用fetch
into的话就需要显式开关游标,另外任意执行一个update操作,用隐式游标sql的属性%found,%notfound,%rowcount,%isopen观察update语句的执行情况,也可以使用来判断游标状态 , 如IF
TEMPLATE_CUR%ISOPEN THEN 。
oracle怎么写存储过程?你首先要了解存储过程包括哪些模块,哪些是必备的,哪些是可选的.\x0d\x0a另外呢,如果有条件的话,最好能找一些模板看看别人是怎么写的,再结合你们公司的实际情况,做一些适当的调整.\x0d\x0a例如create or replace procedure过程名字(变量名 in,数据类型,变量名 out 数据类型)等\x0d\x0adeclare\x0d\x0a变量 类型\x0d\x0abegin\x0d\x0a过程体\x0d\x0aexception\x0d\x0aend\x0d\x0a等\x0d\x0a最好有些实例,可以先模仿着写一写\x0d\x0a等熟练之后呢,再自己按照自己的思路去写
Oracle数据库的存储过程怎么写?Oracle存储过程基本语法:
CREATE OR REPLACE PROCEDURE 存储过程名
IS
BEGIN
NULL;
END;
【oracle存储怎么写 oracle存储过程简单实例】解释:
行1:
CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;
行2:
IS关键词表明后面将跟随一个PL/SQL体 。
行3:
BEGIN关键词表明PL/SQL体的开始 。
行4:
NULL PL/SQL语句表明什么事都不做,这句不能删去,因为PL/SQL体中至少需要有一句;
行5:
END关键词表明PL/SQL体的结束 。
关于oracle存储怎么写和oracle存储过程简单实例的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 报警器java代码,ajax报警器
- u盘插入电脑后有什么内容,u盘插到电脑上显示什么
- 区块链技术可以解决什么,区块链技术可能的应用
- 风洞飞行是啥游戏,体验风洞飞行
- php内联数据库 php数据库联表查询
- c语言字符串的大小比较,c语言比较字符串大小的题
- ios竞速飞行游戏,ios竞速飞行游戏有哪些
- 分流的路由器怎么设置,怎么用路由器分流
- mysql表锁怎么用 mysql innodb表锁