zoukankan      html  css  js  c++  java
  • Oracle(变量定义、接收用户输入、if语句、循环语句)

    PL/SQL(Procedure Language/SQL):是Oracle对sql语言的过程化扩展,在SQL语言的基础上增加了过程处理语言(分支、循环等),使得SQL语言具有过程处理能力,它是一种面向过程的语言。·

    1、实现过程

    declare:开头,后面是说明部分

    说明部分:定义变量、光标申明、例外说明

    程序:begin开始

    dbms_output:存储过程(存储函数)

    end:结束

    2、打印Hello World

    (1)书写程序:

    (2)打开数据库开关并运行重新:

    (3)在PL/SQL中运行:

     

     3、定义引用型变量和变量的赋值

    (1)引用型变量的定义:

    pename emp.ename%type;
    psal emp.sal%type;

    例如:第一句话的意思是定义变量pename,该变量的数据类型和emp表的ename属性的数据类型保持一致。

    (2)变量的赋值:

    select ename,sal into pename,psal from emp where empno='7369';

    将查询的的ename和sal的值分别赋值给变量pename和psal。

    (3)程序:

    declare 
    pename emp.ename%type;
    psal emp.sal%type;
    begin
    select ename,sal into pename,psal from emp where empno='7369';
    dbms_output.put_line(pename||'的薪水是'||psal);
    end;

    4、记录型变量

    (1)定义记录型变量:

    emp_rec emp%rowtype;

    (2)程序:

    declare 
    emp_rec emp%rowtype;
    begin
    select * into emp_rec from emp where empno='7369';
    dbms_output.put_line(emp_rec.ename||'的薪水是'||emp_rec.sal);
    end;

    5、 if语句、接收用户输入:

    (1)接收用户输入:

    accept num prompt '请输入一个数字';

    (2)if语句:

    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)完整程序:

    set serveroutput on
    accept num 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;
    /

    6、循环语句

    (1)while:

    输出1-10:

    declare
    step number :=1;
    begin
    while step<=10
    loop
    dbms_output.put_line(step);
    step:=step+1;
    end loop;
    end;

    (2)for:

    declare
    step number :=1;
    begin
    for step in 1..10 loop
    dbms_output.put_line(step);
    end loop;
    end;
  • 相关阅读:
    查找 Search
    [HEOI2016/TJOI2016]排序
    [SDOI2011\]染色
    [构造题选讲]
    [LNOI2014]LCA
    [POI2013]LUKTriumphal arch
    java取得某月最后一天
    设置上网代理服务器
    Richfaces改变我的编程方式
    Richfaces Style
  • 原文地址:https://www.cnblogs.com/zhai1997/p/12371097.html
Copyright © 2011-2022 走看看