关闭

PL/SQL 高级语言查询

106人阅读 评论(0) 收藏 举报
分类:

一.PL/SQL l语言:

1.数据定义语言 DDL
2.数据操作语言 DML
3.数据控制语言 DCL
PL/SQL 语言实现了将过程结构和Oracle SQL的无缝集成

二.PL/SQL 的好处:

1.有利于客户服务器环境的运行。
2.分为数据库PL/SQL和工具PL/SQL,在客户端可将PL/SQL嵌入到到工具中

三. plsql 编程:

declare
i number; – 声明变量
name employees.first_name%type; – 列类型
rows employees%rowtype; – 行类型
– 代码块
begin
i := 10; – 赋值
–输出
dbms_output.put_line(‘i = ’ || i);
end;
1.简单的循环
—s输出2 4 6 8 10
DECLARE
i NUMBER :=2;—–赋值‘:=’
BEGIN
WHILE(i<=10) LOOP—-while循环如果相等用‘=’
dbms_output.put_line(i||’hello word’);
i:=i+2;
END LOOP;
END; —–注意:end后加;

—exit when
DECLARE
i NUMBER :=2;–赋值
BEGIN
LOOP
dbms_output.put_line(i||’hello word’);
EXIT WHEN i=10; –要有;
i:=i+2;
END LOOP;
END;

—for循环
DECLARE
k NUMBER;
BEGIN
FOR i IN 1..5 LOOP
k:=i*2;
dbms_output.put_line(k||’hello word’);
END LOOP;

if elsif语句
declare
score number;
begin
score:=&score;
if score >= 90 then
dbms_output.put_line(‘成绩A’);
elsif (score >= 80) then – elsifzhu注意中间没有e
dbms_output.put_line(‘成绩B’);
elsif score >= 60 then – elsif
dbms_output.put_line(‘成绩C’);
else—-最后一个用else
dbms_output.put_line(‘测试不通过‘);
end if; – 结束if语句
end;

练习
1.–查询50号部门 工资最低的编号 first_name
declare
did employees.department_id%type;
eid number;
name employees.first_name%type;
begin
did:=&did;—–输入员工id
select employee_id,first_name into eid,name
from employees—-先查到员工工资最低
where salary = (select min(salary) from employees where department_id=did)
and department_id=did;
dbms_output.put_line(‘50号部门最低工资 员工 :’ || eid || ‘,’ || name);
end;
2.– 100元 100鸡 公鸡 5 /个 母鸡 3 小鸡 3 / 1元
算法:100=i * 5 + j * 3 + k / 3 ;
100 = i + j + k;

declare
k number;
begin
for i in 0..20 loop
for j in 0..33 loop
k:= 100 - i - j;– 小鸡数量
if i * 5 + j * 3 + k / 3 = 100 then
dbms_output.put_line(‘公鸡: ’ || i || ‘, 母鸡: ’ || j || ‘, 小鸡: ’ || k);
end if;
end loop;
end loop;
end;

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6528次
    • 积分:341
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类