(学习笔记)pl/sql基本语法——声明变量

PL/SQL是是由甲骨文公司在90年代初开发,以提高SQL的功能。作用是让sql语句具有程序的特性,以及面向对象的特性

1.语法:

  declare  //固定语法部分,单词意思为“声明”,意思为“声明头部”

    xxx xxx  /*声明体。用于声明变量,变量类型分为普通变量声明、引用变量声明、

    xxx xxx  记录变量声明、以及光标的声明*/

  begin  //固定语法部分,意思为“开始标签”

    xxx xxx xxx xxx  /*执行体。pl/sql的代码执行体

    xxx xxx xxx xxx  用于循环、输出、循环遍历光标

    xxx xxx xxx xxx  逻辑运算等,和普通类似*/

  end;  //固定语法部分,意思为“结束标签”

例子:(以java语言的语法进行理解)

  declare  //固定语法部分

    name nvarchar2(3);  //声明一个基本类型name变量,类型为nvarchar2,与java不同的是先声明变量名,后指定类型

    age number(3,0);  //声明一个基本类型age变量,类型为number

  begin  //固定语法部分

    name := '大明';  //对变量赋值,与java不同的是赋值是用’ := ‘

    age := 22;  //同上

    dbms_output.put_line('名字:'||name||'年龄:'||age);  //进行输出dbms_output.put_line()可以理解为System.out.println(),只不过用'||'表示java中的字符串连接

  end;  //固定语法部分

  输出结果——名字:大明年龄:22

 

2.上面是声明基本型变量,下面是引用型变量

语法:

  首先先创建一个表,用于举例create table student (id number(4,0) primary key, name nvarchar2(3,0), age number(3,0));

  插入一条数据 insert into student (1, '大明', 22);

  declare

    s_name student.name%type;  //声明引用类型s_name,引用student表中的name字段,可以理解为变量s_name和字段name为同一个类型

    s_age student.age%type;  //同上

  begin

    select name, age into s_name, s_age from student where id = 1;  //将查询结果赋值给s_name和s_age,关键字’into‘带有赋值的意思

    dbms_output.put_line('名字:'||s_name||'年龄:'||s_age);  //输出

  end;

  输出结果——名字:大明年龄:22

 

3.记录型变量可以理解为一个对象,这个对象是用来描述表中的一行中的所有字段,而不是单个字段,用上面的student表举例

  语法:

    declare

      one_student student%rowtype;  \\声明一个记录型变量one_student,可以理解为one_student的类型是用来描述表中的一整条数据

    begin

      select  * into one_student from student where id = 1;  //将查询到的一条结果赋值给one_student

      dbms_output.put_line('名字:'||one_student.name||'年龄:'||one_student.age);  //输出,类似java中的对象.变量名的形式输出

  end;

  输出结果——名字:大明年龄:22

转载于:https://www.cnblogs.com/yemingqianduzou/p/9355733.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值