PL/SQL Developer使用教程:PL/SQL入门知识(二)
PL/SQL Developer是一个集成开发环境,它专门针对Oracle数据库的存储程序单元的开发所用。开发Oracle应用程序的时候都注重于开发工具简单易用,代码简洁和开发效率高等特点。
本文主要介绍PL/SQL的入门知识:PL/SQL 数组 和PL/SQL 函数。帮助各位新手快速熟悉PL/SQL和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 AS BEGIN 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试用版尝试一下!
相关内容推荐:
想要购买该产品正版授权,或了解更多产品信息请点击