• 【oracle】变量,流程控制语句,子程序中的DML,DDL,TCL语句,子程序中的数据类型


    1117-01 变量,流程控制语句,子程序中的DML,DDL,TCL语句,子程序中的数据类型

    变量:
    绑定变量 variable,绑定常量 define
    局部变量
    参数变量
    循环计数变量


    赋值语句
    1.赋值符 :=
    2.select into语句

    流程控制语句
    1.顺序
    2.分支
    if <expression> then
    <body>
    end if;

    if <expression> then
    <body>
    else
    <body>
    end if;

    if <expression> then
    <body>
    elsif
    <body>
    end if;
    3.循环
    --当型
    loop
    exit when <expression>;
    <body>
    end loop;
    --直到型
    loop
    <body>
    exit when <expression>;
    end loop;
    --其他
    loop
    <body1>
    exit when <expression>;
    <body2>
    end loop;
    说明:其他这种写法,很适合游标的fetch


    例子:
    set serveroutput on;

    declare
    vi_num integer := 1;
    vi_sum integer default 0;
    begin
    loop
    exit when vi_num > 100;
    vi_sum := vi_sum + vi_num;
    vi_num := vi_num + 1;
    end loop;
    dbms_output.put_line('vi_num='||vi_num||',vi_sum='||vi_sum);
    end;
    /

    --当型
    while <expression> loop
    <body>
    end loop;

    for <variable> in <value1> .. <value2>|<cursor>|<select语句>
    loop
    <body>
    end loop;

    查询语句
    1.静态语句
    select into <var> from <结果集>
    2.动态语句
    execute immediate <vv_sql> into <var>;

    例子:
    declare
    vv_sql varchar2(1000);
    vv_brand_code varchar2(30);
    vv_brand_name varchar2(30);
    begin
    vv_brand_code := 'B01'; --变量vv_brand_code的赋值 必须在 vv_sql赋值之前
    vv_sqp := 'select brand_name from td_brand where brand_code=upper('||''''||vv_brand_code||''''||')';
    execute immediate vv_sql into vv_brand_name;
    exception
    when others then
    dbms_output.put_line(sqlcode||','||substr(sqlerrm,1,200)||',vv_sql='||vv_sql);
    end;
    /


    DML语句:insert,update,delete
    1.静态语句
    2.动态语句
    execute immediate <str_variable>;

    TCL语句:commit,rollback
    1.静态语句
    2.动态语句


    必须使用动态语句的场景:
    1.DML语句
    2.表名,字段名 是 使用变量拼接得到的
    注意:动态语句的sql不能以;结尾,否则报错。


    子程序中的数据类型
    1.基本数据类型
    2.列类型,行类型
    <table>.<column>%type
    <table>%rowtype
    <cursor>%rowtype
    3.exception
    4.cursor
    6.复合类型:记录 和 集合

  • 相关阅读:
    hadoop自定义数据类型
    hadoop worldcount小程序
    windows下eclipse连接ubuntu伪分布式hadoop2.6.0
    Hadoop2.6.0伪分布式搭建
    解决hadoop no dataNode to stop问题
    hadoop 2.6.0 伪分布式部署安装遇到的问题
    Hadoop执行bin/stop-all.sh时no namenode to stop异常
    Hadoop伪分布式安装步骤(hadoop0.20.2版本)
    《Hadoop基础教程》之初识Hadoop(转载)
    自定义Json格式
  • 原文地址:https://www.cnblogs.com/greenZ/p/8721814.html
Copyright © 2020-2023  润新知