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,你需要理解如何编写存储过程、触发器、游标操作,以及如何使用内置的数据库对象和函数。同时,掌握异常处理和事务管理对于编写健壮的数据库应用程序至关重要。这个资料包中的"video2.swf"可能是一个视频...
- **数据库编程**:编写存储过程、函数、触发器,以实现复杂的业务逻辑和数据处理。 - **数据操作**:通过PLSQL,可以进行增删改查操作,批量处理数据,提高效率。 - **事务管理**:支持ACID(原子性、一致性、...
标题中的“CDC积累的plsql用的各种例子”表明这是一份关于PL/SQL编程的资源集合,主要用于在数据库管理中进行复杂数据操作。PL/SQL是Oracle数据库系统中的一种过程化语言,它结合了SQL查询功能与传统的编程语言元素...
PLSQL,全称为Procedural Language/SQL,是Oracle数据库提供的一个编程环境,结合了SQL的查询能力与过程式编程语言的功能,使得开发者能够编写存储过程、函数、触发器等数据库对象,从而实现复杂的数据库管理和应用...
随着经验的积累,可以深入学习更复杂的数据操作、存储过程和函数的创建,以及如何利用PLSQL Developer进行高效的数据库管理和开发工作。 总之,PLSQL Developer 7.1.4.1390是一个强大的Oracle数据库开发工具,无论...
- **游标变量**:存储游标状态,便于在程序中传递和重用。 - **记录类型**:自定义的数据结构,用于存储多列数据。 10. **PL/SQL性能优化**: - **绑定变量**:提高SQL执行效率,减少解析次数。 - **存储过程的...
随着经验的积累,可以深入学习如何优化PL/SQL代码,掌握高级特性如游标、异常处理、包的使用等。 6. **其他相关工具**:除了PLSQL Developer,还有其他Oracle开发工具,如SQL Developer(主要用于SQL查询和数据管理...
SQL(Structured Query Language)是用于管理和操作关系数据库的标准语言,而PL/SQL(Procedural Language/Structured Query Language)是Oracle公司对SQL的一种扩展,它引入了过程化编程元素,使得数据库管理与应用...
PL/SQL,全称是Procedural Language/Structured Query Language,是Oracle数据库系统中的过程化结构化查询语言,它是SQL...随着经验的积累,可以深入学习存储过程、函数、触发器等高级特性,进一步提升数据库开发能力。
PL/SQL是Oracle数据库提供的过程化语言,它结合了SQL的查询能力与编程语言的控制结构,用于创建存储过程、函数、触发器等数据库对象,实现复杂的业务逻辑。 1.2 PL/SQL 块结构基础 PL/SQL代码由声明部分、执行部分...
打开这个压缩包,用户可能可以学习到如何声明变量、编写块(如BEGIN-END块)、处理异常、使用游标、创建存储过程和函数、进行事务控制等PL/SQL的基本概念和语法。 在实际应用中,PL/SQL的强项在于其能够直接与...
《Apress.Beginning.PLSQL.From.Novice.to.Professional.Aug.2007.eBook-BBL》这本书是PL/SQL编程领域的经典之作,专为初学者至专业人士设计,旨在帮助读者从零基础逐步进阶到专业水平。在Oracle数据库环境中,PL/...
通过本教程,你可以学习如何创建和管理Oracle数据库,编写高效的SQL查询,以及利用PL/SQL开发存储过程和函数。实践是最好的老师,所以不仅要理解理论知识,还要动手操作,解决实际问题,不断积累经验。 总之,...