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

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

PL/SQL Developer免费版

PL/SQL是是由甲骨文公司在90年代初开发,以提高SQL的功能。PL/SQL是嵌入在Oracle数据库中的编程语言之一,是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。

简而言之,PL/SQL是一门为扩展Oracle中SQL功能的编程语言

在 PL/SQL Developer 开发工具中打开 SQL commoned 窗口可以进行PL/SQL 开发。 在左上角有输出框。可以查看由dbms_output.put_line( )得到的结果。

先来个Hello world 展示一下吧!

declare    msg varchar(20);begin    msg := 'Hello world ! ';        dbms_output.put_line(msg);exception    -- 单行注释    /*     * 多行注释 ,这部分是异常处理模块,可有可无。     */end;

declare 声明部分 ——所有变量,游标,子程序,和其他元素

begin – end ; –——程序主体,可执行命令

PL/SQL中常见符 解释:

||  字符串连接符
:=  赋值运算符
% 属性索引 使用%type可以使变量获得与字段相同的数据类型,用于不知道给什么类型才合适的变量
= 相等运算符

谈一种编程语言,肯定要说变量和数据类型呀!

PL/SQL 变量命名 : 由数字,字母,下划线,美元符 组成。字母开头。

变量分类:局部变量和全局变量。

变量的常见类型:

varchar2 : 可变长字符串

int : 整数类型

number (precision,scale) :1.、precision表示数字中的有效位,如果没有指定precision的话,oracle将使用38作为精度;2、 如果scale大于零,表示数字精度到小数点右边的位数;scale默认设置为0;如果scale小于零,oracle将把该数字取舍到小数点左边的指定位数。

clob: 用于存储字符大块数据在数据库中 大小为 8 – 128 TB

date : 日期和时间

变量的定义分为局部变量和全局变量。

DECLARE    -- Global variables    num1 number := 95;    num2 number := 85;BEGIN    dbms_output.put_line('Outer Variable num1: ' || num1);    dbms_output.put_line('Outer Variable num2: ' || num2);    DECLARE        -- Local variables        num1 number := 195;        num2 number := 185;    BEGIN        dbms_output.put_line('Inner Variable num1: ' || num1);        dbms_output.put_line('Inner Variable num2: ' || num2);    END;END;

SQL的SELECT INTO子句给PL/SQL变量赋值

declare  c_id customers.id%type := 1;  c_name customers.name%type;  c_addr customers.address%type;  c_sal customers.salary%type;begin  select name,address,salary into c_name,c_addr,c_sal from customers where id = c_id;  dbms_output.put_line('Customer '||c_name||' from '||c_addr||' earns '||c_sal);end;

PL/SQL 中的常量:

PI constant number := 3.14;

很不习惯呀,常量和变量名放在前面,数据的类型放在后面。。。

PL/SQL 中的运算符:

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

PL/SQL 中的条件控制语句:

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

注意: 每一次 if 结构结束都要用 end if; 这才表示 if 结束。

DECLARE    a number(3) := 100;BEGIN    IF ( a = 10 ) THEN        dbms_output.put_line('Value of a is 10' );    ELSIF ( a = 20 ) THEN        dbms_output.put_line('Value of a is 20' );    ELSIF ( a = 30 ) THEN        dbms_output.put_line('Value of a is 30' );    ELSE        dbms_output.put_line('None of the values is matching');    END IF;    dbms_output.put_line('Exact value of a is: '|| a );END;

CASE 结构:

declare  grade char(1) := 'A';begin  case grade    when 'A' then dbms_output.put_line('A');    when 'B' then dbms_output.put_line('B');    else dbms_output.put_line('NO');  end case;end;

PL/SQL 中的循环控制语句:

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

举例说明:

DECLARE    x number := 10;BEGIN    LOOP        dbms_output.put_line(x);        x := x + 10;        IF x > 50 THEN            exit;        END IF;    END LOOP;    -- after exit, control resumes here    dbms_output.put_line('After Exit x is: ' || x);END;
DECLARE    a number(2) := 10;BEGIN    WHILE a < 20 LOOP        dbms_output.put_line('value of a: ' || a);        a := a + 1;    END LOOP;END;
DECLARE    a number(2);BEGIN    FOR a in 10 .. 20 LOOP   -- 10 .. 20 表示10-20 全包含        dbms_output.put_line('value of a: ' || a);    END LOOP;END;

常用的操作字符串的函数:

UPPER(x) :x转换为大写字母,并返回该字符串

TRIM([trim_char FROM) x) : 从左侧和右侧修剪x字符的空格

SUBSTR(x, start [, length]) : 返回x的一个子开始于由start指定的位置。可选长度为子字符串

CHR(x) : 返回字符 x 的 ASCII 值

CONCAT(x, y) : 连接字符串x和y,并返回附加的字符串

INITCAP(x) : 每个单词的首字母x中转换为大写,并返回该字符串

INSTR(x, find_string [, start] [, occurrence]) :搜索find_string在x中并返回它出现的位置

INSTRB(x) : 返回另一个字符串中字符串的位置,但返回以字节为单位的值

LENGTH(x) : 返回x中的字符数

LOWER(x) : 在x转换为小写字母,并返回该字符串

LTRIM(x [, trim_string]) : 从x的左修剪字符


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

标签:

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

上一篇 2019年10月11日
下一篇 2019年10月11日

相关推荐

发表回复

登录后才能评论