logo PL/SQL Developer系列教程 我也要发布文档

PL/SQL Developer使用教程:PL/SQL入门知识(二)


PL/SQL Developer是一个集成开发环境,它专门针对Oracle数据库的存储程序单元的开发所用。开发Oracle应用程序的时候都注重于开发工具简单易用,代码简洁和开发效率高等特点。

点击下载PL/SQL Developer免费版

本文主要介绍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;

PL/SQL Developer使用教程:PL/SQL入门知识(二)

举例说明:

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试用版尝试一下!

相关内容推荐:

PL/SQL Developer 使用教程>>>


想要购买该产品正版授权,或了解更多产品信息请点击“咨询在线客服”

850×68.png