美文网首页我爱编程
Oracle数据库客户端PL/SQL安装和基础语法知识

Oracle数据库客户端PL/SQL安装和基础语法知识

作者: 是蓝先生 | 来源:发表于2016-07-13 15:07 被阅读139次

    在开始之前先讲一下PL/SQL客户端的安装,在安装PL/SQL之前必须要先安装oracle数据库,因为PL/SQL只是使用数据库的一个客户端。

    安装oracle时选择安装的东西选择安装admin里所有的东西,安装好后,第一次使用PL/SQL登录时要先配置好tnsname.ora文件。

    若遇到[ORA-12154: TNS: 无法解析指定的连接标识符]问题,则要先在工具->首选项->里先设置好oci.dll文件。

    再次登录即可


    (1)运算符
    := 表示赋值运算符;
    .. 表示范围运算符;例如FOR int IN 1 .. v_count
    || 表示连接符号,可以将两个字段的值连接在一起,例:select 姓||名 from user;

    :p_empno := 7369;表示什么意思?
    类似:x ,那么冒号其实是占位符的意思,占位符在执行时必须赋值。

    (2)标识符
    PL/SQL程序设计中的标识符定义与SQL 的标识符定义的要求相同。要求和限制有:
    a. 标识符名不能超过30字符;
    b. 第一个字符必须为字母;
    c. 不分大小写;
    d. 不能用’-‘(减号);
    e. 不能是SQL保留字。

    提示: 一般不要把变量名声明与表中字段名完全一样,如果这样可能得到不正确的结果.

    (3)PL/SQL块结构和组成元素

    1.png

    (4)DBMS_OUTPUT.PUT_LINE()方法的使用
    只要是BEGIN和END之间,就可以使用DBMS_OUTPUT.PUT_LINE(output);

    (5)%TYPE说明
    为了使一个变量的数据类型与另一个已经定义了的变量(尤其是表的某一列)的数据类型相一致,Oracle提供了%TYPE定义方式。当被参照的那个变量的数据类型改变了之后,这个新定义的变量的数据类型会自动跟随其改变,容易保持一致,也不用修改PL/SQL程序了。

    即v_name变量的类型始终与emp表中ename字段的类型保持一致。

    2.png

    (6)Oracle中的替换变量,&变量名
    替换变量的格式是在变量名称前加一个&,以便在运行SQL命令时提示用户输入替换数据,然后按输入数据运行SQL命令

    语法:
    & :“&变量名”
    eg:&name;
    生命周期:单次引用中,不需要声明,如果替换字符或日期类型,最好用单引号扩起
    使用范围:where、order by、列表达式、表名、整个SELECT 语句中
    select info.* from info
    where age=&anumber
    order by name;

    (7)变量作用范围及可见性
    a. 变量的作用范围是在你所引用的程序单元(块、子程序、包)内。即从声明变量开始到该块的结束。
    b. 一个变量(标识)只能在你所引用的块内是可见的。
    c. 当一个变量超出了作用范围,PL/SQL引擎就释放用来存放该变量的空间(因为它可能不用了)。

    (8)注释
    使用 /* */ 来加一行或多行注释,

    (9)可转换的类型赋值
    a. CHAR 转换为 NUMBER:
    使用 TO_NUMBER 函数来完成字符到数字的转换,如:
    v_total := TO_NUMBER(‘100.0’) + sal;

    b. NUMBER 转换为CHAR:
    使用 TO_CHAR函数可以实现数字到字符的转换,如:
    v_comm := TO_CHAR(‘123.45’) || ’元’ ;

    c. 字符转换为日期:
    使用 TO_DATE函数可以实现 字符到日期的转换,如:
    v_date := TO_DATE('2001.07.03','yyyy.mm.dd');

    d. 日期转换为字符:
    使用 TO_CHAR函数可以实现日期到字符的转换,如:
    v_to_day := TO_CHAR(SYSDATE, 'yyyy.mm.dd hh24:mi:ss') ;

    3.png

    (10)标号和GOTO
    PL/SQL中GOTO语句是无条件跳转到指定的标号去的意思。语法如下:
    GOTO label;
    . . . . . .
    <<label>> /*标号是用<< >>括起来的标识符,即跳转到了《lable》处的语句 */

    NULL 语句表示什么也不做。

    相关文章

      网友评论

        本文标题:Oracle数据库客户端PL/SQL安装和基础语法知识

        本文链接:https://www.haomeiwen.com/subject/bonsjttx.html