- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PLSQL基本语法部分其他示例 (2013-11-19)
PL/SQL基本语法部分(补充示例)
注意:
以下例子请在xe库中的hr账号下实现
在SQL Plus中运行前,请先set serveroutput on(在SQL Developer中运行时也可以加上set serveroutput on)
表结构如下:
create table s(sno char(10),sname char(10),sage int);
create table c(cno char(10),cname char(10),teacher char(10));
create table sc(sno char(10),cno char(10),grade int);
加入数据脚本:
Begin
insert into s values(s1,zs,21);
insert into s values(s2,l4,20);
insert into c values(c1,db,wang);
insert into c values(c2,c,zhang);
insert into sc values(s1,c2,99);
insert into sc values(s2,c1,65);
end;
变量的定义例1
declare
num1 number(3);
begin
select count(*) into num1 from sc where grade60;
dbms_output.put_line(The result is: ||num1);
end;
变量的定义例2
declare
var1 sc.grade%type;
begin
select avg(grade) into var1 from sc;
dbms_output.put_line(The result is: ||var1);
end;
变量的定义例3
declare
var1 s%rowtype;
begin
select * into var1 from s where sname=zs;
dbms_output.put_line(The result is: ||var1.sno||var1.sname);
end;
条件语句
declare
avg_grade sc.grade%type;
begin
select avg(grade) into avg_grade from sc;
if(avg_grade90) then
dbms_output.put_line(90);
else if (avg_grade80) then
dbms_output.put_line(80-90);
else
dbms_output.put_line(80);
end if;
end if;
end;
/
注意elsif的写法
循环语句
declare
i int:=1;
mysql varchar(200);
begin
while i20 loop
mysql:=grant select on s to str||to_char(i);
dbms_output.put_line(mysql);
-- execute immediate mysql; 执行这条sql
i:=i+1;
end loop;
end;
用for循环来写:
for i in 1..20 loop
end loop;
case 语句
--case语句
BEGIN
case
when to_number(to_char(sysdate,hh24))12 then dbms_output.put_line(早上);
else dbms_output.put_line(下午);
end case;
END;
/
--case表达式
DECLARE
degree CHAR(1);
pinyu VARCHAR2(20);
BEGIN
Degree := input_degree;
pinyu :=
CASE
WHEN degree = A THEN Excellent
WHEN degree = B THEN Very Good
WHEN degree = C THEN Good
WHEN degree = D THEN Fair
WHEN degree = F THEN Poor
ELSE No such grade
END;
dbms_output.put_line(piny
文档评论(0)