您现在的位置是:首页 > 正文

PLSQL类型相关操作

2024-02-01 01:05:52阅读 1

1.写一个PLSQL程序,输出”hello world”字符串,语法:

dbms_output.put_line('需要输出的字符串');
begin
    --向SQLPLUS客户端工具输出字符串
    dbms_output.put_line('hello 你好');
end;

注意:
dbms_output是oracle中的一个输出对象
put_line是上述对象的一个方法,用于输出一个字符串自动换行

2.设置显示PLSQL程序的执行结果,默认情况下,不显示PLSQL程序的执行结果,语法:

set serveroutput on/off;
set serveroutput on;

3.使用基本类型变量,常量和注释,求10+100的和

declare
    --定义变量
    mysum number(3) := 0;
    tip varchar2(10) := '结果是';
begin
    /*业务算法*/   
    mysum := 10 + 100;
    /*输出到控制器*/
    dbms_output.put_line(tip || mysum);
end;

4.输出7369号员工姓名和工资,格式如下:7369号员工的姓名是SMITH,薪水是800,语法:使用表名.字段%type

declare
    --定义二个变量,分别装姓名和工资
    pename emp.ename%type;
    psal   emp.sal%type;
begin  
    --SQL语句
    --select ename,sal from emp where empno = 7369;
    --PLSQL语句,将ename的值放入pename变量中,sal的值放入psal变量中    
    select ename,sal into pename,psal from emp where empno = 7369;
    --输出
    dbms_output.put_line('7369号员工的姓名是'||pename||',薪水是'||psal);    
end;

5.输出7788号员工姓名和工资,格式如下:7788号员工的姓名是SMITH,薪水是3000,语法:使用表名%rowtype

declare
    emp_record emp%rowtype;
begin
    select * into emp_record from emp where empno = 7788;
    dbms_output.put_line('7788号员工的姓名是'||emp_record.ename||',薪水是'||emp_record.sal);
end;

6.何时使用%type,何时使用%rowtype?
当定义变量时,该变量的类型与表中某字段的类型相同时,可以使用%type
当定义变量时,该变量与整个表结构完全相同时,可以使用%rowtype,此时通过变量名.字段名,可以取值变量中对应的值
项目中,常用%type

7.PLSQL判断

(1)使用if-else-end if显示今天星期几,是”工作日”还是”休息日”

declare
    pday varchar2(10);
begin
    select to_char(sysdate,'day') into pday from dual;
    dbms_output.put_line('今天是'||pday);
    if pday in ('星期六','星期日') then
    dbms_output.put_line('休息日');
    else
    dbms_output.put_line('工作日');
    end if;
end;

(2)从键盘接收值,使用if-elsif-else-end if显示”age<16”,”age<30”,”age<60”,”age<80”

declare
    age number(3) := &age;
begin
    if age < 16 then
       dbms_output.put_line('你未成人');
    elsif age < 30 then
       dbms_output.put_line('你青年人');
    elsif age < 60 then
       dbms_output.put_line('你奋斗人');
    elsif age < 80 then 
       dbms_output.put_line('你享受人');
    else
       dbms_output.put_line('未完再继');
    end if;
end;

8.PLSQL循环

(1)使用loop循环显示1-10

declare
    i number(2) := 1;
begin
    loop
        --当i>10时,退出循环
        exit when i>10;
        --输出i的值
        dbms_output.put_line(i);
        --变量自加
        i := i + 1;  
    end loop;
end;

(2)使用while循环显示1-10

declare
    i number(2) := 1;
begin
    while i<11 
    loop
        dbms_output.put_line(i);
        i := i + 1;
    end loop;
end;

(3)使用while循环,向emp表中插入999条记录

declare
    i number(4) := 1;
begin 
    while( i < 1000 )
    loop
        insert into emp(empno,ename) values(i,'哈哈');
        i := i + 1;
    end loop;   
end;

(4)使用while循环,从emp表中删除999条记录

declare
    i number(4) := 1;
begin 
    while i<1000
    loop
        delete from emp where empno = i;
        i := i + 1;
    end loop;
end;

(5)使用for循环显示20-30

declare
    i number(2) := 20;
begin
    for i in 20 .. 30
    loop
        dbms_output.put_line(i);
    end loop;
end;

网站文章

  • 《中软笔记》仿京东图片浏览

    《中软笔记》仿京东图片浏览

    本片文章的内容为仿京东商品图片浏览时放大的效果如图所示:效果分析:当鼠标移上左边时候该图片就会被放大,并且在右边显示;移动的时候还可以查看该物品的其他部位;鼠标移除就会被隐藏起来,不占物理空间。解决思路:1.写样式不管啥情况先写出来看看再去搞功能右边一个div,放入图片设置图片宽高,左边一个设置为右边div图片的 两倍大;2.写事件分析可知有三种事件(通过触发小盒子的事件,...

    2024-02-01 01:05:43
  • pycharm编写pyspark设置

    pycharm编写pyspark设置

    1、安装好pycharm后,打开pycharm创建项目2、创建项目,指定python位置(可用python虚拟环境)2.1、配置pycharm环境然后:apply==>ok2.2 、添加spark安装包下面的python文件夹中的两个pyspark的zip包3、配置流程4、提交代码到spark上运行...

    2024-02-01 01:05:36
  • Makefile经典教程

    支持原创,请移步陈浩大神博客:http://blog.csdn.net/haoel/article/details/2886这篇文章是对多篇博客的修改和整合,有意见可以私信我,谢谢!Make程序的命令行选项和参数Make命令参数的典型序列如下所示:make [-f makefile文件名][选项][宏定义][目标]这里用[]括起来的表示是可选

    2024-02-01 01:05:28
  • QQ网站登录的RSA加密传输缺陷分析

       QQ网站登录处没有使用https进行加密,而是采用了RSA非对称加密来保护传输过程中的密码以及敏感信息的安全性。 QQ是在javascript中实现整个过程的。这个想法非常新颖,但是也是存在严重缺陷的。如果被黑客利用,则可能被捕获明文密码。分析报告如下:Author: axisDate: 2007-11-23Team: http://www.ph4nt0m.org  (http://ps

    2024-02-01 01:04:59
  • 复旦大学计算机专业自考,2020年复旦大学自考专业一览表

    复旦大学计算机专业自考,2020年复旦大学自考专业一览表

    复旦大学(Fudan University)复旦大学是一所世界知名、国内顶尖的综合性研究型大学,2017年,学校入选“双一流”建设高校名单,确立了27个“双一流”建设学科,在QS世界大学排名中列全球第...

    2024-02-01 01:04:53
  • android自动打开键盘,Android弹出式对话框AlertDialog中的EditText自动打开软键盘

    private void confirmPhoneGurdPswd(final String guardPswd) {// 1.创建弹出式对话框final AlertDialog.Builder al...

    2024-02-01 01:04:46
  • 令考研人讨厌的10大行为排行榜!第一句话就忍不了...

    令考研人讨厌的10大行为排行榜!第一句话就忍不了...

    No.1老问他能考上吗?我每天早晨六点起床七点开始学习晚上十点离开自习室回宿舍每天被梦想叫醒晚上与知识共枕这些你都无法理解我能不能考上不需要向你汇报,好吗!No.2对他说“尽力就好”明明考试还没开始明...

    2024-02-01 01:04:17
  • Linux操作系统

    Linux操作系统

    第11讲SElinux管理(SELinux的上下文,端口号,布尔值)1 Linux系统的安全机制分为四层(1)Filesystem:chmod, chown, setfacl 基于文件系统的保障用户...

    2024-02-01 01:04:11
  • Linux部署lamp(centos 7),照做就行

    Linux部署lamp(centos 7),照做就行

    大家好,今天我们来分享一下Linux上部署lamplamp指的是Linux+Apache+MySQL数据库+php几者相结合的web框架结构虽然我在这之前,就写过有关于这方面的博客,但是那个不详细今天...

    2024-02-01 01:03:54
  • Spring声明式事务管理的两种方式(XML和Annotation)

    Spring声明式事务管理

    2024-02-01 01:03:25