PL/SQL Developer是一个集成开发环境,它专门针对Oracle数据库的存储程序单元的开发所用。开发Oracle应用程序的时候都注重于开发工具简单易用,代码简洁和开发效率高等特点。
PL/SQL Developer免费版
PL/SQL 数组
数组的定义 TYPE varray_type_name IS VARRAY(n) OF element_type
举例:
TYPE namearray IS VARRAY(5) OF VARCHAR2(10);Type grades IS VARRAY(5) OF INTEGER;
使用可变数组:
DECLARE type namesarray IS VARRAY(5) OF VARCHAR2(10); type grades IS VARRAY(5) OF INTEGER; names namesarray; --拿到数组的引用,下面就可以变长使用该数组 marks grades; total integer;BEGIN names := namesarray('Kavita', 'Pritam', 'Ayan', 'Rishav', 'Aziz'); marks:= grades(98, 97, 78, 87, 92); total := names.count; --求数组的长度 dbms_output.put_line('Total '|| total || ' Students'); FOR i in 1 .. total LOOP dbms_output.put_line('Student: ' || names(i) || ' Marks: ' || marks(i)); END LOOP;END;
求数组的长度 array_name.count
注意: 在Oracle的环境下,数组的起始索引从1开始。
PL/SQL子程序被命名之后,可使用一组参数来调用PL/SQL块。 PL/SQL提供两种子程序:
-
函数:这些子程序返回一个值,主要用于计算并返回一个值。
-
过程:这些子程序没有直接返回值,主要用于执行操作。
存储过程定义:
CREATE [OR REPLACE] PROCEDURE procedure_name[(parameter_name [IN | OUT | IN OUT] type [, ...])] (IS,AS)BEGIN < procedure_body >END[procedure_name];
-
procedure-name 指定的程序的名称
-
[OR REPLACE] 选项允许修改现有的程序
-
可选的参数列表中包含的名称,模式和类型的参数。IN表示该值将被从外部传递,OUT表示该参数将被用于从过程返回一个值到外面
-
procedure-body 包含可执行部分
-
AS关键字来代替了IS关键字用于创建一个独立的程序。
举例:
CREATE OR REPLACE PROCEDURE greetings ASBEGIN dbms_output.put_line('Hello World!');END;
创建好的存储过程只需要运行一下就会自动保存。可以通过选中存储过程右键,进行测试。
删除存储过程 : drop procedure procedure_name;

举例说明:
Create PROCEDURE findMin(x IN number, y IN number, z OUT number) ISBEGIN IF x < y THEN z:= x; ELSE z:= y; END IF;END;
create PROCEDURE squareNum(x IN OUT number) ISBEGIN x := x * x;END;
PL/SQL 函数:
创建函数语法:
CREATE [OR REPLACE] FUNCTION function_name[(parameter_name [IN | OUT | IN OUT] type [, ...])] RETURN return_datatype {IS | AS}BEGIN < function_body >END [function_name];
-
function-name 指定函数的名称
-
[OR REPLACE] 选项允许修改现有的函数
-
可选的参数列表中包含的名称,模式和类型的参数。IN表示该值将被从外部传递和OUT表示该参数将被用于过程外面返回一个值
-
函数必须包含一个return语句
-
return 子句指定要带函数返回的数据类型
-
function-body 包含可执行部分
-
AS关键字来代替了IS关键字用于创建一个独立的函数
举例:
CREATE OR REPLACE FUNCTION totalCustomers RETURN number IS total number(2) := 0;BEGIN SELECT count(*) into total FROM customers; RETURN total;END;
create or replace function findMax(x in number,y in number)return number as z number;begin if x > y then z := x; else z := y; end if; return z;end;
相关内容推荐:
PL/SQL Developer 使用教程>>>
想要购买该产品正版授权,或了解更多产品信息请点击“咨询在线客服”

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!