PL/SQL编程—变量
SQL> declare
2 c_tax_rate number(3,2):=0.03;
3 v_name varchar2(20);
4 v_passwd varchar2(20);
5 v_sale number(7,2);
6 v_tax_sale number(7,2);
7 begin
8 select name,passwd,salary into v_name,v_passwd,v_sale from mytest where id=&inpt;
9 v_tax_sale:=v_sale*c_tax_rate;
10 dbms_output.put_line('name:'||v_name||' passwd:'||v_passwd||' taxsale:'||v_tax_sale);
11 end;
12 / name:123 passwd:123 taxsale:3 PL/SQL procedure successfully completed
在声明变量的时候可以设置类型为动态的取表中的字段的类型一致
SQL> insert into mytest values('','','passwd',''); 1 row inserted SQL> select * from mytest; ID NAME PASSWD SALARY
----- -------------------- -------------------- --------------------------------------------------------------------------------
1 123 123 100
2 gaodingle!!!! 123 100
3 gagaga 123 100
4 125555 passwd 50 SQL>
SQL> declare
2 c_tax_rate number(3,2):=0.03;
3 v_name varchar2(4);
4 v_passwd varchar2(20);
5 v_sale number(7,2);
6 v_tax_sale number(7,2);
7 begin
8 select name,passwd,salary into v_name,v_passwd,v_sale from mytest where id=&inpt;
9 v_tax_sale:=v_sale*c_tax_rate;
10 dbms_output.put_line('name:'||v_name||' passwd:'||v_passwd||' taxsale:'||v_tax_sale);
11 end;
12 / declare
c_tax_rate number(3,2):=0.03;
v_name varchar2(4);
v_passwd varchar2(20);
v_sale number(7,2);
v_tax_sale number(7,2);
begin
select name,passwd,salary into v_name,v_passwd,v_sale from mytest where id=4;
v_tax_sale:=v_sale*c_tax_rate;
dbms_output.put_line('name:'||v_name||' passwd:'||v_passwd||' taxsale:'||v_tax_sale);
end; ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
ORA-06512: 在 line 9 SQL>
SQL> declare
2 c_tax_rate number(3,2):=0.03;
3 v_name mytest.name%type;
4 v_passwd varchar2(20);
5 v_sale number(7,2);
6 v_tax_sale number(7,2);
7 begin
8 select name,passwd,salary into v_name,v_passwd,v_sale from mytest where id=&inpt;
9 v_tax_sale:=v_sale*c_tax_rate;
10 dbms_output.put_line('name:'||v_name||' passwd:'||v_passwd||' taxsale:'||v_tax_sale);
11 end;
12 / name:125555 passwd:passwd taxsale:1.5 PL/SQL procedure successfully completed
SQL> declare
2 --定义一个pl/sql记录类型叫做 test_record_type 可以理解为定义一个类,这个类型中包括了name,passwd,salary
3 type test_record_type is record (name mytest.name%type,passwd mytest.passwd%type,salary_gaga mytest.salary%type);
4 --定义一个变量这个变量是test_record_type类型 好比类new一个对象
5 sp_record test_record_type;
6 begin
7 select name,passwd,salary into sp_record from mytest where id=&inpt;
8 dbms_output.put_line('name:'||sp_record.name||' salary:'||sp_record.salary_gaga);
9 end;
10 / name:123 salary:100
SQL> declare
2 type sp_test_table is table of mytest.name%type index by binary_integer;
3 test_table sp_test_table;
4 begin
5 select name into test_table(0) from mytest where id=&inpt;
6 dbms_output.put_line('name:'||test_table(0));
7 end;
8 / name:gagaga PL/SQL procedure successfully completed
PL/SQL编程—变量的更多相关文章
- 基于oracle 的PL/SQL编程 -变量使用
1. 需要开启的服务: 本机安装的oracle ,默认是开机启动服务的,开机时间太慢,关闭了,需要手动打开: OracleDBConsoleorcl OracleOraDb10g_home1iSQL ...
- PL/SQL编程--变量声明及赋值
declare v_price ,);--单价 v_usenum number;--水费字数 v_usenum2 number;--使用吨数 begin v_price:=2.45;--每吨单价 v_ ...
- PL/SQL 编程(一)基础,变量,分支,循环,异常
SQL和PL/SQL: SQL 结构化查询语言(Structural Query Language),是用来访问和操作关系型数据库的一种标准通用语言,属于第四代语言(4GL).可以方便的调用相应语句来 ...
- Oracle PL/SQL编程之变量
注: 以下测试案例所用的表均来自与scott方案,使用前,请确保该用户解锁. 1.简介 和大多数编程语言一样,在编写PL/SQL程序时,可以定义常量和变量,在pl/sql程序中包括有: a.标量类型( ...
- ORACLE PL/SQL编程详解
ORACLE PL/SQL编程详解 编程详解 SQL语言只是访问.操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发.PL /SQL是一种高级数据库程序设 ...
- Oracle数据库编程:PL/SQL编程基础
2.PL/SQL编程基础: PL/SQL块: declare 定义部分 begin 执行部分 exception 异 ...
- pl/sql编程
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- [强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)
原文:[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!) [强烈推荐]ORACLE PL/SQL编程详解之七: 程序包的创建与应用(聪明在于学习,天 ...
- ORACLE PL/SQL编程之八:把触发器说透
原文:ORACLE PL/SQL编程之八:把触发器说透 ORACLE PL/SQL编程之八: 把触发器说透 大家一定要评论呀,感谢!光发表就花了我将近一个下午. 本篇主要内容如下: 8.1 触发器类型 ...
随机推荐
- 逃不掉的mysql数据库安装方式大全yum rpm 源码
数据库虽然也不是天天安装,但每次安装都要找来找去挺烦,特整理记录在此. 系统基于:Centos 7.x 数据库版本: MySQL 5.7.x 转载请注明出处 Yum 安装方式 1.下载 yum rep ...
- URL编码,空格和+
下表中列出了一些URL特殊符号及编码 + URL 中+号表示空格 %2B 空格 URL中的空格可以用+号或者编码 %20 / 分隔目录和子目录 %2F ? 分隔实际的URL和参数 %3F % 指定特殊 ...
- H.264 Profile
提到High Profile H.264解码许多人并不了解,那么到底什么是High Profile H.264解码?其应用效果又是如何呢? 作为行业标准,H.264编码体系定义了4种不同的Profi ...
- grep检索文本
grep [OPTIONS] PATTERN [FILE...] grep zifuchuan * 不行的话来一个: grep zifuchuan */* 不行的话再来一个: grep zifuc ...
- yii2 basic 简洁安装教程
虽然yii官网上说叫咱们用composer安装来安装,但是鄙人感觉这样的安装方式会将自己写的代码共享到github中,因此不太建议大家这样用.下面来给大家介绍basic简洁的安装方法. 第一步,下载b ...
- 详略。。设计模式2——单例变形(多例).。。。studying
★ 缓存在单例中的使用("单例+缓存"技术) 缓存在编程中使用非常频繁,有着非常关键的数据,它可以帮助程序实现以空间换取时间, 通常被设计成整个应用程序所共享的一个空间,现要求实现 ...
- 第7步:安装Grid
7.1解压文件 注意,安装Grid时需要以grid用户身份执行,在那之前需要以root身份执行xhost+,即命令: 代码1 [root@sgdb1~]# xhost+ [root@sgdb1~]# ...
- uGUI动态加载控件位置错误
最近在使用uGUI时遇到了一个问题,在此记录一下.在Canvas的Render Mode设置为Screen Space-Overlay模式时,动态加载控件是不会发生问题的.但是在Screen Spac ...
- AutoMapper整理收集
http://www.cnblogs.com/jobs2/p/3503990.html http://www.cnblogs.com/1-2-3/p/AutoMapper-Best-Practice. ...
- python入门(二):数据类型和结构
Python3 中有六个标准的数据类型:tips:用type()函数或者是isinstance(x,int)来判断数据类型,然后for i in 来遍历集合1.Number(数字支持 int.floa ...