• oracle_申明与赋值


    1.格式

    1. --1.程序块结构
    2. declare
    3. --申明部分
    4. begin
    5. --执行部分
    6. end

    2.写一个空的程序块

    1. --1.程序块结构
    2. declare
    3. --申明部分
    4. begin
    5. --执行部分
    6. null
    7. end

    控制台输出【hello world】

    1. --2.简单的程序输入
    2. DECLARE
    3. --申明部分
    4. BEGIN
    5. --执行部分
    6. dbms_output.put_line('hello world');
    7. END;

    3.定义变量 变量赋值 变量是可变的

    1. --已知长度求周长
    2. DECLARE
    3. --申明部分
    4. v_long number;
    5. v_wide number;
    6. v_perimeter number;
    7. BEGIN
    8. --执行部分
    9. v_long:=5;
    10. v_wide:4;
    11. v_perimeter:=(v_long*v_wide)*2
    12. --输出到控制台
    13. dbms_output.put_line('v_perimeter =' || v_perimeter);
    14. END;
    15. --申明变量的时候可以直接赋值,赋初始值
    16. DECLARE
    17. --申明部分
    18. v_long number:=5;
    19. v_wide number:4;
    20. v_perimeter number;
    21. BEGIN
    22. --执行部分
    23. v_perimeter:=(v_long*v_wide)*2
    24. --输出到控制台
    25. dbms_output.put_line('v_perimeter =' || v_perimeter);
    26. END;

    变量是可变的

    1. DECLARE
    2. --申明部分
    3. v_long number :=5;
    4. v_wide number:4;
    5. v_perimeter number;
    6. BEGIN
    7. --执行部分
    8. v_long:=8;--改变v_long的值
    9. dbms_output.put_line('v_long =' || v_long);--输出v_long的值
    10. v_perimeter:=(v_long*v_wide)*2
    11. --输出到控制台
    12. dbms_output.put_line('v_perimeter =' || v_perimeter);--||是拼接的意思
    13. END;

    4.定义常量constant 常量赋值 常量是不可变的,必须赋初始值

    1. --4定义常量constant 常量赋值 常量是不可变的,必须赋初始值
    2. --已知半径求直径
    3. declare
    4. v_pi constant number:=3.14;
    5. v_r number :=3;
    6. v_area number;
    7. BEGIN
    8. --执行部分
    9. v_area:=v_pi*v_r*v_r;
    10. dbms_output.put_line('v_area =' || v_area);--||是拼接的意思
    11. END;

    5.字符/日期数据类型的变量

    1. declare
    2. --申明部分
    3. v_name VARIANCE2(30):='lisi';
    4. v_date date:=sysdate;
    5. begin
    6. --执行部分
    7. v_date:=to_date('20240422','yyyymmdd')
    8. dbms_output.put_line('v_date =' || v_date);--||是拼接的意思
    9. dbms_output.put_line('v_name =' || v_name);--||是拼接的意思
    10. end;

    6.隐式游标及其特性--只能返回一行数据,返回多行数据或者没有数据返回会报错

    语法:select into(表里面的某个字段的某个值放到变量里)

    1. --隐式游标及其特性--只能返回一行数据,返回多行数据或者没有数据返回会报错
    2. --语法 select INTO(不能直接执行select into)
    3. declare
    4. --申明部分
    5. v_name varchar2(30);
    6. v_sal number;
    7. BEGIN
    8. --执行部分
    9. select ename,sal into v_name,v_sal from emp where emp=100;
    10. dbms_output.put_line('v_name =' || v_name);
    11. dbms_output.put_line('v_sal =' || v_sal);
    12. dbms_output.put_line('姓名:' || v_name|| v_sal);
    13. END;
    14. --特性1.:返回多行数据会报错
    15. declare
    16. --申明部分
    17. v_name varchar2(30);
    18. v_sal number;
    19. BEGIN
    20. --执行部分
    21. select ename,sal into v_name,v_sal from emp ;
    22. dbms_output.put_line('姓名:' || v_name|| v_sal);
    23. END;
    24. --特性2:没有数据返回会报错
    25. declare
    26. --申明部分
    27. v_name varchar2(30);
    28. v_sal number;
    29. BEGIN
    30. --执行部分
    31. select ename,sal into v_name,v_sal from emp where v_name='o' ;
    32. dbms_output.put_line('姓名:' || v_name|| v_sal);
    33. END;
    34. --防止报错---加聚合函数
    35. declare
    36. --申明部分
    37. v_name varchar2(30);
    38. v_sal number;
    39. BEGIN
    40. --执行部分
    41. select max(ename),max(sal) into v_name,v_sal from emp ;
    42. dbms_output.put_line('姓名:' || v_name|| v_sal);
    43. END;

    7.%type / %rowtype 定义数据类型

    1. 7.%type / %rowtype 定义数据类型
    2. --%type:引用数据库中的某一列的数据类型或者某一个变量的数据类型
    3. declare
    4. --申明部分
    5. v_name emp.ename%type;
    6. BEGIN
    7. --执行部分
    8. select ename into v_name from emp where emp=100;
    9. dbms_output.put_line('v_name =' || v_name);
    10. END;
    11. --%rowtype:引用数据库中的一行(所有字段)作为数据类型
    12. declare
    13. --申明部分
    14. v_all emp%rowtype;
    15. BEGIN
    16. --执行部分
    17. select ename into v_all.ename,v_all.sal from emp where emp=100;
    18. dbms_output.put_line(v_all.ename|| v_all.sal );
    19. END;

  • 相关阅读:
    java计算机毕业设计-学生宿舍故障报修管理信息系统-源码+数据库+系统+lw文档+mybatis+运行部署
    Windows高效开发环境配置(一)
    一个注解@Recover搞定丑陋的循环重试代码
    游戏引擎用什么语言开发上层应用
    全场景 MPP 数据库ERM StarRocks 源代码数据湖分析
    [VNCTF2024]-Web:CheckIn解析
    vue-cli创建自定义preset预设项目
    YOLOv7优化:感受野注意力卷积运算(RFAConv),效果秒杀CBAM和CA等 | 即插即用系列
    除了Excel中可以添加公式之外,在Word中也可以添加公式,不过都是基于表格
    【C++】c++引用和小细节
  • 原文地址:https://blog.csdn.net/a874045/article/details/138088185