1、存储过程判断对象是否存在并执行DDL:
DECLARE
V_COUNT INTEGER := 0;
BEGIN
SELECT COUNT(*)
INTO V_COUNT
FROM USER_OBJECTS US
WHERE US.OBJECT_NAME = 'GET_CHANGE_REC_ID'
AND US.OBJECT_TYPE = 'PROCEDURE';
IF V_COUNT > 0 THEN
EXECUTE IMMEDIATE 'DROP PROCEDURE GET_CHANGE_REC_ID';
END IF;
END;
/
2、游标试用:
创建数据:
CREATE TABLE TBL_TEST
(
U_ID NUMBER(10) PRIMARY KEY,
U_NAME VARCHAR2(100)
);
BEGIN
FOR I IN 1..20 LOOP
INSERT INTO TBL_TEST VALUES(I,'NAME'||I);
END LOOP;
COMMIT;
END;
/
执行命令“SET SERVEROUTPUT ON”,打开输出
以游标的形式进行ID的累加:
DECLARE
V_TOTAL INTEGER:=0;
BEGIN
FOR R IN (SELECT * FROM TBL_TEST) LOOP
V_TOTAL:=V_TOTAL+R.U_ID;
END LOOP;
DBMS_OUTPUT.put_line('V_TOTAL:'||V_TOTAL);
END;
/
在游标中设定参数:
DECLARE
V_TOTAL INTEGER := 0;
CURSOR C(V_ID INTEGER := 10) IS SELECT * FROM TBL_TEST WHERE U_ID < V_ID;
BEGIN
FOR R IN C LOOP
V_TOTAL := V_TOTAL + R.U_ID;
END LOOP;
DBMS_OUTPUT.PUT_LINE('V_TOTAL:' || V_TOTAL);
EXCEPTION
WHEN OTHERS THEN
IF C%ISOPEN THEN
CLOSE C;
END IF;
END;
/
输入输出参数:
CREATE OR REPLACE PROCEDURE P_TEST(V1 IN INTEGER,
V2 IN INTEGER,
S OUT INTEGER) IS
BEGIN
S := V1 + V2;
END;
/
-- 调用
DECLARE
S INTEGER := 0;
BEGIN
P_TEST(1, 2,S);
DBMS_OUTPUT.PUT_LINE('SUM:' || S);
END;
/
只有输入参数:
CREATE OR REPLACE PROCEDURE P_TEST(V1 IN INTEGER, V2 IN INTEGER) IS
BEGIN
DBMS_OUTPUT.PUT_LINE('SUM:' || (V1 + V2));
END;
/
EXEC P_TEST(1,2);-- 脚本调用
如果出现编译错误,可以执行“SHOW ERRORS”来查看错误明细。
分享到:
相关推荐
PLSQL 存储过程 语法
如题,初步研究了pl/sql的写法,现给出存储过程,游标等的使用,后续会给出其他的用法
声明:本文中的所有代码均是实战敲出来的!杜绝copy! 代码是以游标的编写、调用、为目的。从简单到复杂,用迭代的思想不断丰富例子功能。希望对各位同学有所帮助。
Oracle_plsql讲义:第20章 游标.ppt
语法入门、操作plsql、存储过程、函数、触发器、游标、包、返回类型;一个execle表轻松搞定。
Oracle PLSQL语言初级教程之游标
PLSQL操作存储过程、函数、游标、触发器、定时任务等实例SQL脚本
PLSQL中存储过程的建立,导出,导入,加入图示详细描述
PLSQL入门存储过程(详细注释案例).pdf
plsql存储过程 plsql存储过程 plsql存储过程
plsql编程、普通变量、引用变量、记录型变量、loop循环、if判断、序列、索引、游标、存储过程,这些知识在这个sql文件里都有体现
plsql创建存储过程并创建job定时任务执行-详细笔记文档总结
相信讲述了游标以及它的一些应用实例,在while,if 和for循环下的代码编写。
游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。
oracle数据库里plsql游标、集合及对象的简单使用,适合初学者查看
PLSQL调试存储过程,PLSQL调试存储过程.
Oracle中PLSQL游标简介
Oracle利用PLSQL调试存储过程及创建存储过程结构
Oracle PLSQL游标的学习! 值得下载看看!资源免费,大家分享!!
oracle 数据库 plsql 存储过程