• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PL/SQL编程中变量的声明

mysql 搞代码 4年前 (2022-01-09) 27次浏览 已收录 0个评论

PL/SQL编程中变量的声明 创建第一个程序hello world begin dbms_output.put_line(

PL/SQL编程中变量的声明

创建第一个程序hello world

begin

dbms_output.put_line(‘Hello world’);

end;

/

set serveroutput on;(输出语句到dos窗口的命令)

begin

dbms_output.put_line(‘Hello world’);

end;

/

就可以在dos窗口中看到Hello world;

(简单变量的声明)

声明变量:

declare

v_name varchar2(20);(变量名在前,类型在后)

begin

v_name := ‘myname’;(给变量进行赋值)

dbms_output.put_line(v_name);

end;

/

(异常处理)

declare

v_num number := 0;

begin

v_num := 2/v_num;

dbms_output.put_line(v_num);

exception

when others then

dbms_output.put_line(‘error’);

end;

变量声明的规则:

1 变量名不能使用保留字:(from,select)

2 第一个字符必须是字母

3 变量名最多包含30个字符

4 不要与数据库的表或者列同名

5 每一行只能声明一个变量

常用类型变量:

binary_integer :整数,主要用来计数而不是用来表示字段类型,(提高效率)

number;数字类型

char:定长字符串;

date:日期;

long:长字符串,最长2G;

常量的练习;

declare

v_temp number(1);

v_count binary_integer :=0;

v_sal number(7,2) :=4000.00;

v_date date := sysdate;

v_pi constant number(3,2) := 3.14;

v_valid boolean :=false;

v_name varchar2(20) not null :=’MyName’;

begin

dbms_output.put_line(‘v_temp value’ || v_temp);(||连接符)

end;

/

注释一句用’–‘ 注释一段/* */

dbms_output.put_line()不能打印boolean 变量

使用%type属性:

declare (变量声明类型依据 表的类型变化)

v_empno number(4);

v_empno2emp.empno%type;

v_empno3v_empno2%type;

begin

dbms_output.put_line(‘Test’);

end;

复合变量的声明:

第一种:

Table变量类型(相当于java的数组)

declare

typetype_table_emp_empn本文来源gao@!dai!ma.com搞$$代^@码网*ois table of emp.empno%type index by binary_integer;

v_empnostype_table_emp_empno;

begin

v_empnos(0) := 7369;

v_empnos(2) := 7839;

v_empnos(-1) := 9999;–(下标可以是小于0的)(注释)

dbms_output.put_line(v_empnos(-1));

end;

Record变量类型:(相当于java的类)

declare

typetype_record_dept isrecord

(

deptno dept.deptno%type,

dname dept.dname%type,

loc dept.loc%type

);

v_temp type_record_dept;

begin

v_temp.deptno :=50;(相当于引用去访问成员变量)

v_temp.dname :=’aaaa’;

v_temp.loc := ‘bj’;

dbms_output.put_line(v_temp.deptno || ‘ ‘|| v_temp.dname);

end;

使用%rowtype声明record 变量;

declare

v_tempdept%rowtype;

begin

v_temp.deptno := 50;

v_temp.dname := ‘aaaa’;

v_temp.loc := ‘bj’;

dbms_output.put_line(v_temp.deptno || ‘ ‘ || v_temp.dname);

end;

SQL(select)语句在PlSQL中的应用:

declare

v_ename emp.ename%type;

v_sal emp.sal%type;

begin –plsql语句中select语句中必须有into ,必须保证返回记录

dbms_output.put_line(v_ename || ‘ ‘ || v_sal);

end;

declare

v_emp emp%rowtype;

begin

select *into v_emp from emp where empno = 7369;

dbms_output.put_line(v_emp.empno);

end;

其他SQL 语句在plsql中的应用:

declare

v_deptno dept.deptno%type := 50;

v_dname dept.dname%type :=’aaaa’;

v_loc dept.loc%type := ‘bj’;

begin –插入数值;

insert into dept2 values(v_deptno,v_dname,v_loc);

commit;

end;

declare

v_deptnoemp2.deptno%type:= 10;

v_count number;

begin

update emp2 set sal=sal/2 where deptno =v_deptno;

–select deptno into v_deptno from emp2 where empno = 7369;

— select count(*) into v_count from emp2;

— sql表示刚刚执行完的那条语句,(执行完这条语句后,,有多少记录被 影响)

dbms_output.put_line(sql%rowcount || ‘条记录被影响’);

commit;

end;


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PL/SQL编程中变量的声明

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址