Oracle:PLSQL数据类型

PLSQL数据类型

--设置显示PLSQL程序的执行结果,默认情况下,不显示PLSQL程序的执行结果,语法:set serveroutput on/off;
set serveroutput on;
--写一个PLSQL程序,输出"hello world"字符串,语法:dbms_output.put_line('需要输出的字符串');
begin
    --向SQLPLUS客户端工具输出字符串
    dbms_output.put_line('hello 你好');
end;
/

注意:dbms_output是oracle中的一个输出对象,put_line是上述对象的一个方法,用于输出一个字符串自动换行
--变量定义
i number(2);
mysum number(3) := 100;
msg vachar2(12) := '结果是';
pename emp.ename%type;
emp_record emp%rowtype;

--变量说明
number(2):数值型,最多两位数99
number(3):数值型,最多三位数999
varchar(12):字符串型,最多12个字节
emp.ename%type:与emp表的ename字段类型和数据一致
emp%rowtype:与emp表的类型和数据一致

何时使用%type,何时使用%rowtype?

当定义变量时,该变量的类型与表中某字段的类型相同时,可以使用%type,项目中,常用%type。

当定义变量时,该变量与整个表结构完全相同时,可以使用%rowtype,此时通过变量名.字段名,可以取值变量中对应的值。

--使用基本类型变量,常量和注释,求10+100的和
declare
    --定义变量
    mysum number(3) := 0;
    tip varchar2(10) := '结果是';
begin
    /*业务算法*/ 
    mysum := 10 + 100;
    /*输出到控制器*/
    dbms_output.put_line(tip || mysum);
end;
/
--输出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;
/
--输出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;
/

你可能感兴趣的:(★,Oracle)