Oracle练习
--声明一个变量,并给它赋值
declare
v_bonus number(8);
begin
select id*6 into v_bonus from A where Id=5;
DBMS_OUTPUT.PUT_LINE('奖金'||to_char(v_bonus));
end;
select * from emp
--拷贝一个字段的类型结构
declare
v_ename emp.ename%type;
v_sal emp.sal%type;
c_tax_rate constant number(3,2) :=0.03;
v_sal_tax v_sal%type;
begin
select ename,sal into v_ename,v_sal from emp where empno=&eno;
v_sal_tax :=v_sal * c_tax_rate;
dbms_output.put_line('雇员名称:' || v_ename);
dbms_output.put_line('工资:' || v_sal);
dbms_output.put_line('所得税' || v_sal_tax);
end;
select * from emp
declare
v_emp emp%rowtype; --与emp表中的各个列相同
begin
select * into v_emp from emp where empno=&eno; --将emp表中的所有记录赋值给 v_emp, &表示输入一个新的值
dbms_output.put_line('雇员名称:'|| v_emp.ename);
dbms_output.put_line('工资:' || v_emp.sal);
end;
-- 拷贝一条记录中几个字段的数据结构
declare
type emp_record_type is record(
name emp.ename%type,salary emp.sal%type,job emp.job%type
);
v_emp_record emp_record_type;
begin
select ename,sal,job into v_emp_record from emp where empno=&eno;
dbms_output.put_line('雇员名称:' || v_emp_record.name);
dbms_output.put_line('工资:'|| v_emp_record.salary);
dbms_output.put_line('职位:' || v_emp_record.job);
end;
insert into emp select * from emp
--拷贝整个表的表结构,逐行拷贝
declare
type emp_table_type is table of emp%rowtype
index by binary_integer;
v_emp_table emp_table_type;
begin
select ename,sal into v_emp_table(1).ename,v_emp_table(1).sal from emp where empno=7369;
select ename,sal into v_emp_table(2).ename,v_emp_table(2).sal from emp where empno=7370;
dbms_output.put_line('雇员名称:'||v_emp_table(1).ename || '工资:' || v_emp_table(1).sal);
dbms_output.put_line('雇员名称:' || v_emp_table(2).ename || '工资:' || v_emp_table(2).sal);
end;
--使用when loop 循环
declare
v_i number:=1;
v_s number:=0;
begin
loop
exit when v_i>100;
v_s:=v_s+v_i;
v_i:=v_i+1;
end loop;
dbms_output.put_line('100之内的整数和:' || v_s);
end;
--使用while loop 循环;
declare
v_i number:=1;
v_s number:=0;
begin
while v_i<=100 loop
v_s:=v_s+v_i;
v_i:=v_i+1;
end loop;
dbms_output.put_line('100以内的整数和: '|| v_s);
end;
--求100以内的自然数
declare
v_s number:=0;
begin
for v_i in 1..100 loop
v_s:=v_s+v_i;
end loop;
dbms_output.put_line('100以内的自然数:'|| v_s);
end;
--求100-110之间的素数
declare
v_m number:=101;
v_i number;
v_n number:=0;
begin
while v_m<110 loop
v_i:=2;
loop
exit when v_i>v_m-1;
if mod(v_m,v_i)=0 then
v_i:=0;
exit;
end if;
v_i:=v_i+1;
end loop;
if v_i>0 then
v_n:=v_n+1;
dbms_output.put_line('第'|| v_n || '个素数是' || v_m);
end if;
v_m:=v_m+2;
end loop;
end;
Oracle练习的更多相关文章
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- Oracle 的基本操作符
!= 不等于 select empno,ename,job from scott.emp where job!='manager' ^= 不等于 select empno,ename,job from ...
- 使用Zabbix监控Oracle数据库
Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...
- 基于Oracle安装Zabbix
软件版本 Oracle Enterprise Linux 7.1 64bit Oracle Enterprise Edition 12.1.0.2 64bit Zabbix 3.2.1 准备工作 上传 ...
- Oracle Database 12c Data Redaction介绍
什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...
- 使用Oracle官方巡检工具ORAchk巡检数据库
ORAchk概述 ORAchk是Oracle官方出品的Oracle产品健康检查工具,可以从MOS(My Oracle Support)网站上下载,免费使用.这个工具可以检查Oracle数据库,Gold ...
- 利用Oracle RUEI+EM12c进行应用的“端到端”性能诊断
概述 我们知道,影响一个B/S应用性能的因素,粗略地说,有以下几个大的环节: 1. 客户端环节 2. 网络环节(可能包括WAN和LAN) 3. 应用及中间层环节 4. 数据库层环节 能够对各个环节的问 ...
- 使用技术手段限制DBA的危险操作—Oracle Database Vault
概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...
随机推荐
- Problem J: Island Buses
主要题意是:大海之间有岛,有的岛之间有桥,问你岛的个数,桥的个数,以及没有桥联通岛的个数,其中最后一次输入的没有回车,不注意的话最后一次会被吞,第二,桥的两端的标记是“X”(X也代表陆地),“X”的四 ...
- poj 3082多边形相交 'Roid Rage
题意是判断多边形是否相交 主要的思路就是判断每一个点是否在另外的多变形内 判断一个点是否在另一个多边形内主要思路是: 判断的那个点向左边做射线,如果射线与多边形的交点为奇数个则在多边形内,偶数个则不在 ...
- 医院API免费接口的公布
医院通网(http://hospital.yi18.net) 站点上站快两个月了,基本已经稳定,尽管还有非常多小bug,但还是不影响大局.抱着数据开放和共享的理念,医院大全API接口 (http:// ...
- 配置QtCreator+CDB远程调试环境(要设置_NT_SYMBOL_PATH和QT_PLUGIN_PATH和Path)
相关环境信息:开发机Win7 x64.远程机器WinXP.调试器是CDB.Qt版本5.2.1 一.部署远程机器环境 我这里用的是虚拟机(Windows XP),根据你要调试的程序选择安装不同架构的Wi ...
- c++ __declspec关键字详细用法
c++ __declspec关键字详细用法 __declspec用于指定所给定类型的实例的与Microsoft相关的存储方式.其它的有关存储方式的修饰符如static与extern等是C和C++语言的 ...
- 《深入理解mybatis原理》 MyBatis事务管理机制
MyBatis作为Java语言的数据库框架,对数据库的事务管理是其很重要的一个方面.本文将讲述MyBatis的事务管理的实现机制. 首先介绍MyBatis的事务Transaction的接口设计以及其不 ...
- Swift - 工具条(UIToolbar)的用法
1,UIBarButtonItem是工具条按钮,有如下5种init初始化方法: (1)初始化为普通图片按钮 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 ...
- HealthKit教程 Swift版:锻炼信息
原文:HealthKit Tutorial with Swift: Workouts 作者:Ernesto García 译者:Mr_cyz ) 欢迎回到我们的HealthKit系列教程! 在我们系列 ...
- protobuf-2.5.0.tar.gz的下载与安装
1.下载 hadoop使用protocol buffer进行通信,须要下载和安装protobuf-2.5.0.tar.gz.因为如今protobuf-2.5.0.tar.gz已经无法在官网https: ...
- ASP.Net状态管理读书笔记--思维导图
课前提问几个问题 使用Session 配置 model aspnet_regsql.exe 常见问答 问:为什么Session在有些机器上偶尔会丢失?答:可能和机器的环境有关系,比如:防火墙或者杀毒软 ...