精华内容
下载资源
问答
  • PLSQL入门

    2020-05-26 01:22:29
    PL/SQL入门 1.什么是PLSQL 2.第一个PLSQL程序 Set serveroutput on //打开输出开关 declare ​ --说明部分(变量,光标或者例外) begin ​ --程序体 ​ dbms-output.put_line(“Hello World”); //存储过程可以...

    PL/SQL入门

    1.什么是PLSQL

    在这里插入图片描述

    2.第一个PLSQL程序

    Set serveroutput on //打开输出开关

    declare

    ​ --说明部分(变量,光标或者例外)

    begin

    ​ --程序体

    ​ dbms-output.put_line(“Hello World”); //存储过程可以打印出来

    end==;==

    / //退出编译环境并执行

    3.PLSQL基本语法

    在这里插入图片描述

    3.1定义基本变量

    在这里插入图片描述

    3.2引用型变量

    ​ 举例:my_name emp.ename%type; 引用emp表的ename的类型作为变量my_name的类型

    ​ 示例:查询并打印7389的姓名和薪水

    ​ set serveroutput on

    ​ declare

    ​ //定义引用的变量

    ​ pename emp.ename%type;

    ​ psal emp.esal%type;

    ​ begin

    ​ //into 是赋值 注意顺序 :=也是赋值

    ​ select ename ,sal into pename ,psal from emp where empno= 7839;

    ​ //打印姓名和薪水 ||是拼接符

    ​ dbms_output.put_line(pename||‘的薪水是’||psal)

    ​ end;

    ​ /

    3.3记录型变量

    ​ 举例:emp_rec emp%rowtype; //取表中一行的类型作为变量emp_rec的类型(是一个数组 使用具体的再emp_rec.ename就可以了)

    ​ 示例:查询并打印7389的姓名和薪水

    ​ set serveroutput on;

    ​ declare

    ​ emp_rec emp%rowtype;

    ​ begin

    ​ select * into emp_rec from emp where empno = 7839;

    ​ dbms_output.put_line(emp_rec.ename||‘的薪水是’||emp_rec.sal);

    ​ end;

    ​ /

    3.4IF语句

    ​ 示例:判断用户从键盘输入的数字

    ​ set serveroutput on

    ​ accept num prompt ‘请输入一个数字’; //num 是一个地址值 accept 接收一个键盘数 prompt 弹出提示

    ​ declare

    ​ pnum number := #

    ​ begin

    ​ if pnum =0 then dbms_output.put_line(“您输入的数字是0”);

    elsif pnum =1 then dbms_output.put_line(“您输入的数字是1”);

    elsif pnum =2 then dbms_output.put_line(“您输入的数字是2”);

    ​ else dbms_output.put_line(“您输入的是其他数字”);

    ​ end if;

    ​ end;

    ​ /

    3.5循环语句(Loop是循环体)

    示例:while循环打印1—10

    ​ set serveroutput on;

    ​ declear

    ​ pnum number :=1;

    ​ begin

    ​ while pnum<=10 loop

    ​ dbms_output.put_line(pnum);

    ​ pnum :=pnum+1;

    ​ end loop;

    ​ end;

    ​ /

    示例:Loop循环打印1—10(推荐使用)

    ​ set serveroutput on

    ​ declare

    ​ pnum number :=1;

    ​ begin

    ​ loop

    ​ exit when pnum>10;

    ​ dbms_output.put_line(pnum);

    ​ pnum :=pnum+1;

    ​ end loop;

    ​ end;

    ​ /

    示例:for循环打印1—10

    ​ set serveroutput on

    ​ declare

    ​ pnum number :=1;

    ​ begin

    ​ for pnum in 1…10 loop

    ​ dbms_output.put_line(pnum);

    ​ end loop;

    ​ end;

    ​ /

    4.光标(游标)——就是一个结果集

    4.1 语法

    在这里插入图片描述

    ​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FCBz2h5V-1590426793876)(C:\Users\29654\AppData\Roaming\Typora\typora-user-images\1590420894734.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X5oT7Tk2-1590426793878)(C:\Users\29654\AppData\Roaming\Typora\typora-user-images\1590421024001.png)]

    4.2语法

    4.2.1:光标的属性

    %found //取到值为true 没有取到为false %notfound

    %isopen //判断光标是否开启 %rowcount //影响的行数

    4.2.2不带参数的光标

    ​ 示例:查询并打印员工的姓名和薪水

    ​ set serveroutput on

    ​ declare

    ​ --定义一个光标

    ​ cursor cemp is select ename,sal from emp;

    ​ --为光标定义对应的变量

    ​ pename emp.ename%type;

    ​ psal emp.sal%type;

    ​ begin

    ​ --打开光标

    ​ open cemp;

    ​ loop

    ​ fetch cemp into pename.psal;

    ​ exit when cemp%notfound;

    ​ dbms_output.put_line(pename||'的薪水是‘||psal);

    ​ end loop;

    ​ --关闭光标

    ​ close cemp;

    ​ end;

    ​ /

    4.2.3带参数的光标

    ​ 示例:查询某个部门中员工的姓名

    ​ set serveroutput on

    ​ declare

    ​ cursor cemp(dno number) select ename from emp where deptno = dno;

    ​ pename emp.ename%type;

    ​ begin

    ​ open cemp(10);

    ​ loop

    ​ fetch cemp into pename;

    ​ exit when cemp%ontfound;

    ​ dbms_output.put_line(pename);

    ​ end loop;

    ​ end;

    ​ /

    5.例外

    5.1系统例外

    5.1.1 No_data_found 没有找到数据

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8CroMYLF-1590426793879)(C:\Users\29654\AppData\Roaming\Typora\typora-user-images\1590424167202.png)]

    5.1.2 Too_many-rows select…into语句匹配多个行

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3hoVGgio-1590426793880)(C:\Users\29654\AppData\Roaming\Typora\typora-user-images\1590424315831.png)]

    5.1.3 Zero-Divide 被零除

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xgo3GKfE-1590426793883)(C:\Users\29654\AppData\Roaming\Typora\typora-user-images\1590424442998.png)]

    5.1.4 Value_error 算术或转换错误

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SEoyJ30X-1590426793884)(C:\Users\29654\AppData\Roaming\Typora\typora-user-images\1590424563519.png)]

    5.1.5 Timeout_on_resource 在等待资源时超时

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ILpXu9IM-1590426793885)(C:\Users\29654\AppData\Roaming\Typora\typora-user-images\1590423960204.png)]

    5.2自定义例外

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0WcuSQkn-1590426793886)(C:\Users\29654\AppData\Roaming\Typora\typora-user-images\1590424873216.png)]

    	5.1.3  Zero-Divide  被零除
    

    [外链图片转存中…(img-Xgo3GKfE-1590426793883)]

    5.1.4 Value_error 算术或转换错误

    [外链图片转存中…(img-SEoyJ30X-1590426793884)]

    5.1.5 Timeout_on_resource 在等待资源时超时

    [外链图片转存中…(img-ILpXu9IM-1590426793885)]

    5.2自定义例外

    [外链图片转存中…(img-0WcuSQkn-1590426793886)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tf4fpWcn-1590426793889)(C:\Users\29654\AppData\Roaming\Typora\typora-user-images\1590424920770.png)]

    展开全文
  • plsql入门

    2017-04-08 11:42:03
    PLSQL什么是PL/SQL? PL/SQL(Procedure Language/SQL)PLSQL是Oracle对sql语言的过程化扩展 指在SQL命令语言中增加了过程处理语句(如分支、循环等),使SQL语言具有过程处理能力。(具有编程的能力)**为什么要...

    PLSQL

    什么是PL/SQL?
    PL/SQL(Procedure Language/SQL)

    PLSQL是Oracle对sql语言的过程化扩展
    指在SQL命令语言中增加了过程处理语句(如分支、循环等),使SQL语言具有过程处理能力。(具有编程的能力)

    **为什么要学习plsql?
    1.将sql逻辑写在db层,效率更高—-数据库处理数据更专业,还不需要网络数据交换。
    2.为存储过程、函数等打下基础,前提是学会plsql**

    --面向过程的语言
    --declare --声明部分:没有变量,则declare可以省略
     --你不需要变量声明,则不需要写任何东西
    BEGIN--程序体的开始:编写语句逻辑
        --在控制台输出一句话:dbms_output相当于system.out类,内置程序包,put_line:相当于println()方法
      dbms_output.put_line('Hello World');
        --dbms_output.put('Hello World');
    
    end;--程序体的结束
    
    概念:程序包:dbms_output相当于java中的类(system.out),它是oracle自带的,内置.
    调用程序包:dbms_output.put_line(‘Hello World!’)相当于java的方法

    plsql 程序结构

    PL/SQL可以分为三个部分:声明部分、可执行部分、异常处理部分。
    [delare]
        声明部分(变量、游标、例外)
    begin
        逻辑执行部分(DML语句、赋值、循环、条件等)
    [exception]
        异常处理部分(when 预定义异常错误 thenend;
    /
    
    最简单的PL/SQL:
    Begin
      Null;
    End;
    /
    注意:在SQLPLUS中,PLSQL执行时,要在最后加上一个 “/”

    plsql 变量

    声明部分可以定义变量,定义变量的语法:
    变量名 [CONSTANT] 数据类型;
    普通数据类型(char, varchar2, date, number, boolean, long):
    varl   char(15);
    merried boolean := true;
    psal number (7,2)
    
    特殊变量类型(引用型变量、记录型变量):
    my_name  emp.ename%type my_name 与emp的ename的类型一样。
    emp_rec  emp%rowtype  
    

    **在ORACLE中有两种赋值方式:
    1,直接赋值语句 :=
    2, 使用select …into … 赋值:(语法;select 值 into 变量)**

    打印几个变量的值,几个变量的值分别采用两种不同的赋值方法:
    --打印两个变量的值,两个变量的值分别采用两种不同的赋值方法:
    DECLARE--声明变量
      --姓名
      v_name VARCHAR(20) :='Bo';--声明的时候直接赋值
      --薪资
      v_sal NUMBER;
      --工作地点
      v_local VARCHAR(200);
    BEGIN --开始程序逻辑
      --程序运行时赋值
      --方法一:--直接赋值
      v_sal :=9999;
      --方法二:语句赋值
      SELECT '上海' INTO v_local FROM dual;
      --输出打印
      dbms_output.put_line('姓名:'||v_name||',薪资:'||v_sal||',工作地点:'||v_local);  
    END;--程序结束
    
    
    plsql中有两种不同的赋值方法:
    一种是: 直接用:=来赋值
    另一种:selectinto 变量 from 表名。

    **引用类型的好处:
    1,使用普通变量定义方式,需要知道表中列类型,而使用引用类型,不需要考虑列的类型
    普通变量值过小报错:**

    2,使用引用类型,当列中的数据类型发生改变,不需要修改变量的类型。而使用普通方式,当列的类型改变时,需要修改变量的类型
    使用%TYPE是非常好的编程风格,因为它使得PL/SQL更加灵活,更加适应于对数据库定义的更新**。

    记录型变量
    记录型变量,代表一行,可以理解为数组,里面元素是每一字段值。
    %rowtype  引用一条(行)记录的类型   例:v_emp   emp%rowtype;
    含义:v_emp 变量代表emp表中的一行数据的类型,它可以存储emp表中的任意一行数据。
    记录型变量分量的引用方式:
    
    v_emp.ename :="admin"
    
    查询并打印7839号(老大)员工的姓名和薪水
    --查询并打印7839号(老大)员工的姓名和薪水
    DECLARE
      --记录型变量
      v_emp emp%ROWTYPE;--该变量可以存储emp表中的一行记录
    
    BEGIN
       --赋值
       --默认情况下,必须是全字段赋值
       SELECT * INTO v_emp FROM emp WHERE empno=7839;    
      --打印
      dbms_output.put_line('7839号员工的姓名是:'||v_emp.ename||',薪资'||v_emp.sal);
    END;
    
    如果有一个表,有100个字段,那么你程序如果要使用这100字段话,如果你使用引用型变量一个个声明,会特别麻烦,那么你可以考虑记录型变量

    if语句

    
    判断emp表中记录是否超过20条,,10-20之间,10以下打印一句
    --判断emp表中记录是否超过20条,,10-20之间,10以下打印一句
    DECLARE
      --用来存储数量
      v_count NUMBER;
    BEGIN
      --查询数量赋值
      SELECT COUNT(1) INTO v_count FROM emp ;
      --判断
      IF v_count>20 THEN
        dbms_output.put_line('记录数超过20条:'||v_count);
      ELSIF v_count BETWEEN 10 AND 20 THEN  
      dbms_output.put_line('记录数在10到20条之间:'||v_count);
      ELSE
        dbms_output.put_line('记录数不足10条:'||v_count);
      END IF;  
    END;

    循环

    在ORACLE中有三种循环:
    Loop  循环      EXIT  WHEN...条件 end loop;
    While()…loop 条件判断循环
    For 变量 in 起始..终止  Loop 
    
    这里我建议只记忆一种写法:
    记住loop的写法
    
    【示例】
    打印数字1-10
    --打印数字1-10
    DECLARE
      --声明一个变量
      v_num NUMBER :=1;
    BEGIN
       --循环并打印
       LOOP
         EXIT WHEN v_num>10; --退出循环条件
         dbms_output.put_line(v_num);
         --递增
         --v_num++;--不支持
         v_num :=v_num+1;
       END LOOP;
    END;
    

    游标

    什么是游标
    **游标(Cursor),也称之为光标,从字面意思理解就是游动的光标。
    游标是映射在结果集中一行数据上的位置实体。
    游标是从表中检索出结果集,并从中每次指向一条记录进行交互的机制。**

    游标的主要作用:用于临时存储一个查询返回的多行数据(结果集),通过遍历游标,可以逐行访问处理该结果集的数据。

    (显示)游标的使用方式:声明—>打开—>读取—>关闭

    语法
    游标声明:
    CURSOR  游标名  [ (参数名  数据类型[,参数名 数据类型]...)]
          IS  SELECT   语句;
    【示例】
    无参游标:
    cursor c_emp is select ename from emp;
    有参游标:
    cursor c_emp(v_deptno emp.deptno%TYPE) is select ename from emp where deptno=v_deptno;
    游标的打开:
    Open 游标名(参数列表)
    【示例】
    open c_emp;-- 打开游标执行查询
    游标的取值:
    fetch 游标名 into 变量列表|记录型变量
    【示例】
    fetch c_emp into v_ename;--取一行游标的值到变量中,注意:v_ename必须与emp表中的ename列类型一致。(v_ename emp.ename%type;)
    游标的关闭:
    close 游标名
    【示例】
    close c_emp;--关闭游标释放资源
    解释游标获取数据的基本原理:
    游标刚open的时候,指针结果集的第一条记录之前。
    游标与结果集的区别是什么?游标是有位置的。
    fetch会向前游动,并获取游标的位置的内容。
    
    游标的属性
    游标的属性   返回值类型   说明
    %ROWCOUNT   整型  获得FETCH语句返回的数据行数
    %FOUND  布尔型 最近的FETCH语句返回一行数据则为真,否则为假
    %NOTFOUND   布尔型 与%FOUND属性返回值相反,代表游标结束
    %ISOPEN 布尔型 游标已经打开时值为真,否则为假
    
    创建和使用
    【示例】
    使用游标查询emp表中所有员工的姓名和工资,并将其依次打印出来。
    
    【引用型变量获取游标的值】:
    
    --使用游标查询emp表中所有员工的姓名和工资,并将其依次打印出来。
    DECLARE
      --声明一个游标
      CURSOR C_EMP IS
        SELECT ENAME, SAL FROM EMP;
      --引用型变量
      V_ENAME EMP.ENAME%TYPE; --姓名
      V_SAL   EMP.SAL%TYPE; --工资
    
    BEGIN
      --打开游标,执行查询
      OPEN C_EMP;
      --使用游标,循环取值
      LOOP  
        --获取游标的值放入变量的时候,必须要into前后要对应(数量和类型)
        FETCH C_EMP INTO V_ENAME, V_SAL;  
        EXIT WHEN C_EMP%NOTFOUND;  
        --输出打印
        DBMS_OUTPUT.PUT_LINE('员工的姓名:' || V_ENAME || ',员工的工资' || V_SAL);  
      END LOOP;
    CLOSE c_emp ;--关闭游标,释放资源  
    END;
    
    
    
    【使用记录型变量存值】:
    --使用游标查询emp表中所有员工的姓名和工资,并将其依次打印出来。
    DECLARE
      --声明一个游标
      CURSOR C_EMP IS SELECT * FROM EMP;
      --记录型变量
      v_emp emp%ROWTYPE;
    
    BEGIN
      --打开游标,执行查询
      OPEN C_EMP;
      --使用游标,循环取值
      LOOP  
        --获取游标的值放入变量的时候,必须要into前后要对应(数量和类型)
        FETCH C_EMP INTO v_emp;  
        EXIT WHEN C_EMP%NOTFOUND;  
        --输出打印
        DBMS_OUTPUT.PUT_LINE('员工的姓名:' || v_emp.ename || ',员工的工资' || v_emp.sal);  
      END LOOP;
    CLOSE c_emp ;--关闭游标,释放资源  
    END;
    
    
    带参数的游标
    【示例】
    使用游标查询并打印某部门的员工的姓名和薪资,部门编号为运行时手动输入。
    
    -- Created on 2015/5/5 by BOBO 
    ---查询10号部门的员工的姓名和薪资
    declare 
       --定义游标--带参数的游标:需要定一个形式参数
       CURSOR c_emp(v_deptno emp.deptno%TYPE) IS SELECT ename,sal FROM emp WHERE deptno=v_deptno ;
    
       --声明变量
       v_ename emp.ename%TYPE;
       v_sal emp.sal%TYPE;
    
    BEGIN
      --用
      --打开游标
      OPEN c_emp(10);
      --循环fetch
      LOOP      
          --取出数据
          FETCH c_emp INTO v_ename,v_sal;
    --退出条件
          EXIT WHEN c_emp%NOTFOUND;
          --打印--写任何的逻辑
          dbms_output.put_line('姓名:'||v_ename||',薪资:'||v_sal);   
      END LOOP;
      --关闭
      CLOSE c_emp;
    end;
    
    
    --使用游标查询并打印某部门的员工的姓名和薪资,部门编号为运行时手动输入。
    DECLARE
      --声明一个带参数的游标
      CURSOR C_EMP(v_deptno emp.deptno%TYPE) IS SELECT * FROM EMP WHERE deptno=v_deptno;
      --记录型变量
      v_emp emp%ROWTYPE;
    
    BEGIN
      --打开游标,执行查询
      --打开游标的时候需要传入参数
      OPEN C_EMP(20);
      --使用游标,循环取值
      LOOP  
        --获取游标的值放入变量的时候,必须要into前后要对应(数量和类型)
        FETCH C_EMP INTO v_emp;  
        EXIT WHEN C_EMP%NOTFOUND;  
        --输出打印
        DBMS_OUTPUT.PUT_LINE('员工的姓名:' || v_emp.ename || ',员工的工资' || v_emp.sal);  
      END LOOP;
    
      CLOSE c_emp ;--关闭游标,释放资源  
    END;
    
    展开全文
  • PLSQL入门者适用

    2010-11-28 22:41:19
    PLSQL入门者适用 PLSQL入门者适用 PLSQL入门者适用
  • oracle 8i plsql程序设置,包括plsql基础,在plsql中使用sql,内置sql函数等章节,是plsql入门基础
  • Oracle PLSQL入门知识.doc

    2011-01-21 11:02:08
    Oracle PLSQL 入门的一些简单应用
  • PLSQL入门基础

    2017-04-07 10:34:14
    对于需要使用PLSQL的朋友,可以是个不错的入门文档
  • PLSQL入门教程

    2018-12-18 15:30:53
    适用ORACLE EBS开发,适用于PL SQL语言初学者。简单入门教程。
  • PLSQL入门教程。pdf

    2008-10-14 17:25:38
    PLSQL入门教程 非常精炼 涵盖所有知识点 适合于大多数初学者 pdf格式
  • PLSQL入门存储过程(详细注释案例).pdf
  • Oracle PLSQL入门之案例实践
  • PLSQL入门知识讲解

    2013-11-16 16:00:58
    讲解PLSQL的一些相关知识,帮助新手入门学习了解PLSQL
  • Oracle9i PLSQL 入门到精通读书笔记
  • PLSQL入门教学

    2020-11-27 17:39:25
    入门教学 废话不多说直接开始练习(具体概念网上有,这里只说入门操作) 1.首先我们进行打印helloword begin -- Test statements here dbms_output.put_line('hello world'); end; 2.如果想去我们的cwd(黑面板...

    入门教学

    废话不多说直接开始练习(具体概念网上有,这里只说入门操作)

    1.首先我们进行打印helloword

    begin
      -- Test statements here
      dbms_output.put_line('hello world');
    end;
    
    

    在这里插入图片描述

    2.如果想去我们的cwd(黑面板写sql)
    a:打开以后直接输入:sqlplus(具体解释和操作如下图)
    在这里插入图片描述
    注意:如果没有启动则可能输出选项处于关闭状态(下图有说明)
    在这里插入图片描述

    3.变量是什么
    在这里插入图片描述
    4.普通变量
    变量赋值方式有两种
    a:直接赋值语句 :=
    eg:v_name :=‘zhangsan’

    b:语句赋值,使用select…into…赋值:(语法select值into变量)
    、将值into给某个变量,通常值都是我们表中的某一个结果,也可以指定

    c;进行练习

    – 打印个人信息,包括,姓名,薪水,地址
    declare
    – 姓名,因为name其他数据库中的关键字所以在这里我们自己定义
    v_name varchar(20) := ‘张三’;
    – 薪水
    v_sal number;
    – 地址
    v_addr varchar(200);
    begin
    – 直接赋值
    v_sal := 1580;

    –语句赋值
    select ‘北京’ into v_addr from dual;

    –打印输出 ||可以理解为拼接
    dbms_output.put_line(‘姓名:’ || v_name || ‘,薪水’ || v_sal || ‘,地址’ || v_addr);

    end;

    输出结果:
    在这里插入图片描述

    如果输出结果是问号(也就是中文乱码)进行如下操作
    在这里插入图片描述

    5.引用型变量

    变量类型和长度取决于表中字段的类型和长度
    通过表名.列名%type指定变量的类型和长度,例如:v_name emp .ename%type;

    在这里插入图片描述
    上图中into后面的赋值顺序要和,select后面的参数顺序保持一致

    在这里插入图片描述

    在这里插入图片描述

    6.记录型变量

    接受表中的一整行记录,相当于java中的一个对象

    语法: 变量名称 表名%rowtype,例如:v_emp emp%rowtype;

    缺点:增加了数据库中的负担
    在这里插入图片描述

    7.流程控制
    a:条件分支

    在这里插入图片描述

    b:循环
    loop循环

    语法如下图
    在这里插入图片描述

    在这里插入图片描述

    7.游标

    什么是游标
    在这里插入图片描述

    游标的属性
    在这里插入图片描述
    不带参数的游标案例
    在这里插入图片描述
    在这里插入图片描述

    带参数的游标案例

    在这里插入图片描述

    展开全文
  • PLSQL入门学习宝典

    2013-07-09 11:48:13
    本文档详细讲解了sql的安装过程,理论知识等,对初学者是一个很好的入门学习资料。希望通过学习能够熟练掌握PLSQL的数据库操作。
  • plsql入门与提高

    2008-10-30 13:33:11
    公司关于plsql的讲义,介绍了plsql入门级知识。
  • Oracle PLSQL入门

    2018-03-23 11:12:00
    -- 有了SQL 为什么还需要PL/SQL -- SQL功能很强大,但如果是单1sql语句,没有流程控制 -- PL/SQL 是什么? --不仅仅实现流程控制,同时保留SQL本身所有的功能 --还提供变量、常量等支持 ...--提供更多数据类型的...

    -- 有了SQL 为什么还需要PL/SQL

    -- SQL功能很强大,但如果是单1sql语句,没有流程控制

    -- PL/SQL 是什么?

    --不仅仅实现流程控制,同时保留SQL本身所有的功能

    --还提供变量、常量等支持

    --提供更多数据类型的支持

    --第一,学习PL/SQL块(有开头,有结尾,还有块之外)

    <script language=javascript>

      ...

    </script>

     

    int a = 3;

    int a = a+3;

          :=

     

    PL/SQL块的定义

    --声明

    declare 

     

    begin

      

      exception

        

    end;

    --------

    String userName = "小明";

    System.out.println();

    dbms   output  put_line

    变量的定义

    变量的赋值1

    变量的赋值2(通过查询把,结果赋值给变量,注意,必须是单条记录)

     

    create table t1(

     

       id number primary key,

     

       user_name varchar2(20)

     

    );

     

    insert into t1 values(1,'小军');

     

    commit

     

    select user_name from t1 where id=1

    常量的使用

    -- 会话session级别的变量

    -- 宿主变量

     

    create table tt3(

       id number primary key,

       user_name varchar2(20),

       city varchar2(20),

       is_java number,

       is_boy number,

       age number

    );

    insert into tt3 values(1,'小明','珠海',1,1,19);

    commit;

    ---

    declare

      show_name varchar2(100);

    begin

      select user_name||' '||city into show_name from tt3 where id=1;

      dbms_output.put_line(show_name);

    end;

    ---

    declare

      is_java number;

      age number;

      is_java_stu boolean;

      more_than_age boolean;

      xxx varchar2(100);

    begin

      select is_java,age into is_java,age from tt3 where id=1;

      is_java_stu:=  (is_java=1);

      more_than_age:= (age>18);

      if (is_java_stu and more_than_age ) then 

         select '是一个java程序员' into xxx from dual;

      else

         select '不招' into xxx from dual;    

      end if;

      dbms_output.put_line(xxx);  

    end;

     

    转载于:https://www.cnblogs.com/sheying/p/8629196.html

    展开全文
  • PLSQL入门.pdf

    2008-12-30 22:40:30
    本次上传的电子文档是关于plsql编程的入门教材,讲解清晰明了,很适合初学者自学
  • 是一本关于PLSQL入门教程,适合初学者阅读,内容非常详尽,描述很细致。
  • 从今天开始,计划一个月时间把plsql入门到实践,精通,有浅入深,梳理一遍, 和大家统统学习进步。 本内容是基础中的基础,适合软件开发入门小白水平。 当然,也对从事多年的程序员加深plsql的...
  • ORACLE PLSQL入门

    2008-11-19 14:06:28
    基础的Oracle入门知识,适合初学者This section describes the conventions used in the text
  • 题目就定为“PL/SQL的入门与精通”。 我想尽量用简单易懂的语言来介绍PL/SQL的要点和小技巧,不正之处请大家批评指正。 今天是第一次正式介绍plsql,先把PL/SQL的简介简单介绍一下。 我们在开发应用程序的时候,经常...
  • 第十章:PlSql入门

    2020-03-07 17:16:49
    一、PLSQL的简介 什么是PL/SQL? PL/SQL是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点。 PL/SQL是面向过程...
  • plsql 入门基础教程

    2010-02-03 10:52:20
    好东西快快快好东西快快快好东西快快快好东西快快快好东西快快快好东西快快快好东西快快快
  • PLSQL入门教程.doc

    2010-03-18 13:32:11
    初学者,学习PLSQL的必看资料!循序渐进的学习
  • 从本章开始,我们开始介绍用PLSQL怎么进行文件操作。文件操作主要用到UTL_FILE包 本章简单介绍一下用UTL_FILE包进行文件的读写。 UTL FILE包是Oracle数据库导入的一个标准的包。 这种包装叫做内部包。通过使用内部包...
  • oracle教程15 PlSql入门和基本用法举例(很齐全)

    万次阅读 多人点赞 2018-04-12 17:40:43
    无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗...PLSQL的简介 PLSQL的语法结构 例子: SET SERVEROUTPUT ON BEGIN --打印输出 DBMS_OUTPUT.PUT_LINE('hel...
  • oracle之PLSQL入门

    千次阅读 2013-05-06 10:11:43
    --plsql里面的select必须返回一条记录,并且只能返回一条记录 --select 里面没有游标,必需有into set serveroutput on; --必需返回一条记录,可以改变where后面的查询条件 declare v_ename emp.ename%type; v_...
  • 首先,我们要有PLSQL执行环境,给数据库发送PLSQL或者SQL命令的时候,需要用某些中间件,譬如ODBC中间件,或者其他中间件。其中SQLPLUS直接可以发送SQL命令或者PLSQL块。 环境1:SQLPLUS 。这个是安装Oracle的的时候...
  • 本次我们关于使用plsql制作自己想要的工具,从而提高作业效率,举例说明。 假如,写程序时,必须事先掌握表中的键(主键、外部键)等的情报。 如果手头没有表定义的文档,或者没有什么方便的工具,需要自己查询数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,056
精华内容 822
关键字:

plsql入门