oracle数据库计算题计算数学公式的方法

--1. 求半径2米,高3米的圆柱体体积。

declare
radius number :=2;--半径
height number:=3;--高
volume number;--体积
begin
volume:=3.14*radius*radius*height;
dbms_output.put_line('体积是'||volume);
end;

--2. 求字符串‘abcdefg’的长度。

declare
str varchar2(100) :='abcdefg';
begin
dbms_output.put_line('abcdefg的长度是'||length('abcdefg'));
end;

--3. 显示emp数据库中所有员工的ename的开头两个字母,大写显示。(字符函数)

declare
name emp.ename%type;
maxv number;
i number :=1;
rr number;
begin
select count(*) into maxv from emp ;
dbms_output.put_line('员工总人数:'||maxv);
for i in 1..maxv
loop
select m.v_name into name from(select rownum rn ,upper(substr(ename,1,2)) v_name from emp ) m where m.rn=i;
dbms_output.put_line(name);
end loop;
end;

--4. 取字符串‘abcdefg’的第2到第5个字母。(字符函数)

declare
s1 varchar2(10);
s varchar2(20) :='abcdefg';
begin
select substr('abcdefg',2,4) into s1 from dual;
dbms_output.put_line(s1);
end;

--5. 计算2001年9月11日到今天已经多少天了。(日期函数)

declare
days number;
begin
select sysdate-to_date('2001-09-11','yyyy-mm-dd') into days from dual;
dbms_output.put_line('相差:'||trunc(days)||'天');
end;

--6. 查询emp表,找出编号为7395的记录,如果名字为SCOTT 显示“找到了”否则显示“没找到”。(if语句)

declare
v_name emp.ename%type;
begin
select ename into v_name from emp where empno = 7395;
if v_name = 'SCOTT' then
dbms_output.put_line('找到了');
else
dbms_output.put_line('没找到');
end if ;
exception
when no_data_found then
dbms_output.put_line('您输入的编号不存在');
end;

--7.编写一个程序,用以接受用户输入的数字。将该数左右反转,然后显示反转后的数
--提示:使用循环控制结构.

declare
num number;--输入一个数字
lenth number;
i number;
su varchar2(20);
bb number ;
j number;
begin
--1.获取数值
num:=&aa;
--2.获取数值的长度
lenth:=length(num);
i:=lenth;
dbms_output.put_line(num||'的长度是'||length(num)); --打印数据的长度
while i>0
loop

--3.反着截取数字

bb :=substr(num,i,1);
dbms_output.put_line('截取到的字符是'||bb);
su:=su ||bb;
dbms_output.put_line(su);
--让aa恢复原值
i:=i-1;
end loop;
end;

--8.编写一个程序,在emp表中根据empno查询职员信息。如果代码引发NO_DATA_FOUND异常,则显示一则消息.

declare
e emp%rowtype;
begin
select * into e from emp where empno = &empno;
dbms_output.put_line('员工的信息如下'||e.ename||'#'||e.job);
exception
when no_data_found then
dbms_output.put_line('您查询的员工信息不存在');
end;

--9.编写一个程序,用以接受用户输入的DEPTCODE,并从employee表中检索该雇员的EMPNO。
--如果代码引发TOO_MANY_ROWS异常,则显示消息“返回多行”.

declare
v_id emp.deptno%type;
begin
select empno into v_id from emp where deptno = &id;
exception
when too_many_rows then
dbms_output.put_line('返回多行');
end;

oracle数据库计算题计算数学公式的方法-上流阁

*文章为作者独立观点,不代表上流阁立场
本文由 江风成 授权 上流阁 发表,并经上流阁编辑。转载此文章须经作者同意,并请附上出处(上流阁)及本页链接。原文链接https://www.o6c.com/java/2016/11/01/553.html
发表评论

坐等沙发
相关文章
mysql 优化方案整理
mysql 优化方案整理
Mysql中json的字段用法
Mysql中json的字段用法
JDBC原生链接Mysql数据根据表映射生成bean实体类
JDBC原生链接Mysql数据根据表映射生成be…
Mysql索引的最左前缀原则
Mysql索引的最左前缀原则
MySQL数据库sql中字符串函数的字符串截取
MySQL数据库sql中字符串函数的字符串截取
Java技术Jdbc连接数据库方法及使用方法
Java技术Jdbc连接数据库方法及使用方法
javaweb开发程序员php开发,微信开发。接受定制开发

最新评论