1.基本的PL/SQL代码块如下所示:
DECLARE
/* Declarative section - PL/SQL variables, types, cursors,
and local subprograms go here. */
BEGIN
/* Executable section - procedural and SQL statements go here.
This is the main section of the block and the only one
that is required. */
EXCEPTION
/* Exception-handling section - error-handling statements go
here. */
END;
2.循环结构
DECLARE
v_LoopCounter BINARY_INTEGER := 1;
BEGIN
LOOP
INSERT INTO temp_table (num_col) VALUES (v_LoopCounter);
v_LoopCounter := v_LoopCounter + 1;
EXIT WHEN v_LoopCounter > 50;
END LOOP;
END;
3.存储过程
示例
CREATE OR REPLACE PROCEDURE PrintStudents(
p_Major IN students.major%TYPE) AS
CURSOR c_Students IS
SELECT first_name, last_name
FROM students
WHERE major = p_Major;
BEGIN
FOR v_StudentRec IN c_Students LOOP
DBMS_OUTPUT.PUT_LINE(v_StudentRec.first_name || ' ' || v_StudentRec.last_name);
END LOOP;
END;
调用
BEGIN
PrintStudents('Computer Science');
END;
4.程序包
CREATE OR REPLACE PACKAGE RoomsPkg AS
PROCEDURE NewRoom(p_Building rooms.building%TYPE,
p_RoomNum rooms.room_number%TYPE,
p_NumSeats rooms.number_seats%TYPE,
p_Description rooms.description%TYPE);
PROCEDURE DeleteRoom(p_RoomID IN rooms.room_id%TYPE);
END RoomsPkg;
CREATE OR REPLACE PACKAGE BODY RoomsPkg AS
PROCEDURE NewRoom(p_Building rooms.building%TYPE,
p_RoomNum rooms.room_number%TYPE,
p_NumSeats rooms.number_seats%TYPE,
p_Description rooms.description%TYPE) IS
BEGIN
INSERT INTO rooms
(room_id, building, room_number, number_seats, description)
VALUES (room_sequence.NEXTVAL, p_Building, p_RoomNum, p_NumSeats,
p_Description);
END NewRoom;
PROCEDURE DeleteRoom(p_RoomID IN rooms.room_id%TYPE) IS
BEGIN
DELETE FROM rooms WHERE room_id = p_RoomID;
END DeleteRoom;
END RoomsPkg;
5.执行动态SQL
(需要Oracle8i或更高的版本)
CREATE OR REPLACE PROCEDURE DropTable(p_Table IN VARCHAR2) AS
v_SQLString VARCHAR2(100);
BEGIN
-- Build the string based on the input parameter.
v_SQLString := 'DROP TABLE ' || p_Table;
EXECUTE IMMEDIATE v_SQLString;
END DropTable;
分享到:
相关推荐
PL/SQL是Oracle对标准数据库语言的扩展,Oracle公司已经将PL/SQL整合到Oracle 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本教程将以循速渐进的方式讲述PL/SQL基础语法,结构和组件、以及...
pl/sql基础知识ppt
1、PL/SQL简介 2、PL/SQL基础 3、记录和表 4、在PL/SQL中使用SQL 5、内置SQL函数 6、游标 7、过程和函数 ...
PL/SQL 编程基础知识详解,PL/SQL 包含过程化语句和SQL语句数据操作和查询语句被包含在PL/SQL代码的程序单元中(PL/SQL块),经过逻辑判断、循环等操作完成复杂的功能或者计算.。
PL/SQL 教程,非常详细,绝对的好资源!!!!
PL/SQL基础教程,学习PL/SQL的入门佳作!
第二章 PL/SQL基础 第三章 PL/SQL数据类型 第四章 PL/SQL的控制结构 第五章 PL/SQL集合与记录 第六章 PL/SQL与Oracle间交互 第七章 控制PL/SQL错误 第八章 PL/SQL子程序 第九章 PL/SQL包 第十章 PL/SQL对象...
pl/sql基础教程
PL/SQL 基础,一个不错的 PL/SQL 参考手册。内容预览: ---- 第一章 PL/SQL 简介 ---- 1. Oracle应用编辑方法概览 1) Pro*C/C++/... : C语言和数据库打交道的方法,比OCI更常用; 2) ODBC 3) OCI: C语言和...
是一款学习pl/sql的非常好的书
《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...
PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL...
第11章 pl/sql基础 第12章 访问oracle 第13章 编写控制结构 第14章 使用复合数据类型 第15章 使用游标 第16章 异常处理 . 第17章 本地动态sql 第18章 pl/sql过程 第19章 pl/sql函数 第20章 pl/...
pl/sql存储过程,函数,游标,以及存储过程中的基础知识,绝对值得你收藏的经典题目,让你的pl/sql得到最大的锻炼。让你的数据库逻辑更加灵活。
PL/SQL语言是的SQL语言扩展,具有为程序开发而设计的特性,如数据封装、异常处理、面向对象等特性。 PL/SQL是嵌入到Oracle服务器和开发工具中的,具有很高的执行效率和同Oracle数据库的完美结合。在PL/SQL模块中可以...
十分详细的PL/SQL基础教程。非常适合Oracle开发者入门学习使用。