- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ⅰ、介绍:在编写pl/sql程序时候,可以定义变量和常量,在pl/sql中包括有:标量类型(scalar)复合类型(composite)参照类型(reference)lob(large object);㈠、标量:(scalar)常用的类型:在编写pl/sql的时候,如果要使用变量,需要在定义部分定义变量;pl/sql中定义变量和常量的语法如下:identifier [constant] datatype [ not null ]? [:=|default expt]identifier :名称;constant :指定常量,需要指定他的初始值,而且他的值是不能够改变的;datatype:数据类型;not null ;指定变量不能为null;:=? 给变量或是常量指定初始值;default:用于指定初始值;expr:指定初始值的pl/sql表达式,可以是文本、其他变量、函数等;①定义一个变长字符串:v_ename varchar2(20);②定义一个数:v_sal number(6,3);③定义一个数并给定初始值:v_sal number(5,3):=5.4④定义一个日期类型的数据:v_hitedate date;⑤定义一个bool变量,不能为null,初始值为false;v_valid boolean not null default false;㈡、标量:使用标量在定义好变量后就可以使用这些边玲了,这里需要说明的是pl/sql块为变量赋值不同于其他编程语言,需要使用:=符号;SQL> --下面以输入员工号,显示员工姓名等信息;SQL> declare? 2? c_tax_rate number(3,2):=0.03;? 3? --用户名;? 4? v_name varchar2(5);? 5? v_sal number(6,2);? 6? v_tax_sal number(6,2);? 7? begin? 8? --执行? 9?10? select ename ,sal into v_name , v_sal from emp where empno=&no;?11? --计算所得税‘?12? v_tax_sal:=v_sal*c_tax_rate;?13? --输出;?14? dbms_output.put_line('Name is : ' || v_name || ' sal is '||v_sal||' tax is? '||v_tax_sal);?15? end;?16? /Enter value for no: 7788old? 10: select ename ,sal into v_name , v_sal from emp where empno=&no;new? 10: select ename ,sal into v_name , v_sal from emp where empno=7788;Name is : SCOTT sal is 3000 tax is? 90PL/SQL procedure successfully completed.㈢、标量:使用%type类型;对于上面的pl/sql块有一个问题:如果员工的姓名操过了5个字符的话救护出错,为了降低pl/sql程序的维护工作量,可以使用%type属性定义变量,这样他会按照数据库列来确定你定义的变量类型和长度;标识符名称 表明.列名%type;SQL> --下面以输入员工号,显示员工姓名等信息;SQL> declare? 2? c_tax_rate number(3,2):=0.03;? 3? --用户名;? 4? v_name emp.ename%type;? 5? v_sal? emp.sal%type;? 6? v_tax_sal number(6,2);? 7? begin? 8? --执行? 9?10? select ename ,sal into v_name , v_sal from emp where empno=&no;?11? --计算所得税‘?12? v_tax_sal:=v_sal*c_tax_rate;?13? --输出;?14? dbms_output.put_line('Name is : ' || v_name || ' sal is '||v_sal||' tax is? '||v_tax_sal);?15? end;?16? /Enter value for no: 7788old? 10: select ename ,sal into
1亿VIP精品文档
相关文档
最近下载
- 微专题22:圆周运动中的临界问题- 高一下学期物理人教版(2019)必修第二册.docx VIP
- 2023年浙江省杭州市高三一模英语试卷(含答案).pdf
- 专题:圆周运动的临界问题同步练习--高一下学期物理人教版(2019)必修第二册.docx VIP
- 体育与健康-华东师范大学-中国大学MOOC慕课答案.pdf
- 2022年5月心理咨询考试J01基础心理学单元测试.xlsx VIP
- 新时达iastar s3系列电梯专用变频器使用说明书.pdf
- 地面点的高程测量方法水准测量教案.pdf
- 2019武汉中考化学试卷及参考答案.pdf VIP
- 2023-2024学年北京市海淀区人大附中高三数学第一学期期末教学质量检测试题含解析.doc VIP
- 离子交换树脂基球形活性炭的制备及其吸附性能的研究的中期报告.docx
文档评论(0)