`
ITCheng
  • 浏览: 77264 次
  • 来自: 北京
社区版块
存档分类
最新评论

PL/SQL学习总结

 
阅读更多

PL/SQL总结

1.声明变量以及给变量赋值

--声明变量
declare
         uname varchar2(20);
         num number;
--声明变量赋值
declare
         uname varchar2(20):='admin';
         num number:=20;

 

1.1利用表字段类型,给定变量类型

--如果变量类型未知,可利用表名.字段名%type给定
declare 
         uname users.name%type;
         myrow users%rowtype;

 

2.语句块

--begin开始end结束,插入数据
declare 
         uname varchar2(20):='admin';
         begin
                  insert into info values(uname);
         end;

 

3.输出信息开启标示

set serveroutput on;

 

4.if语句应用

if 条件 then
         代码块
elseif 条件 then
         代码块
(....多个elseif)
else
         代码块
end if;

 

5.case语句应用

--case语句
declare
  num number:=&请输入星期;
begin 
  case num
  when 1 then dbms_output.put_line('星期一');
  when 2 then dbms_output.put_line('星期二');
  when 3 then dbms_output.put_line('星期三');
  when 4 then dbms_output.put_line('星期四');
  when 5 then dbms_output.put_line('星期五');
  when 6 then dbms_output.put_line('星期六');
  when 7 then dbms_output.put_line('星期日');
  else dbms_output.put_line('输入出错');
  end case;
end;

 

6.loop循环

--由于loop循环是死循环,所以跳出循环用exit
loop
      if num>10 then
              exit;
      end if;
end loop;

 

7.while循环

while 条件 loop
        代码块
end loop;

 

8.for循环

--for循环只能每次加1,包括20
begin
       for i in 1..20 loop
               代码块
       end loop;
end;

 

9.动态SQL

--returning可以拿到值,并且返回输出
--using填充占位符的内容
insert into info values (1001,'c');

declare 
       plsql varchar2(100):='update info set name=''孙悟空'' where id=:id  returning name into :uname';
       uname varchar2(100);
       begin
          execute immediate plsql using 1001 returning into uname;
          dbms_output.put_line(uname);
       end;
     
declare
       uname varchar2(20);     
begin
    execute immediate 'update info set name=''孙悟空'' where id=:id returning name into :uname' 
    using 1001 returning into uname;
    dbms_output.put_line(uname);
end;

 

10.自定义异常处理

--raise手动抛出异常
declare
   n int:=&5;
   e exception;--定义
begin
  if(n=5) then
    raise e;--手动抛出
  end if;
  exception--处理
   when e then 
     dbms_output.put_line('自定义异常');
   when too_many_rows then
     dbms_output.put_line('查询到多行数据');
   when others then 
     dbms_output.put_line('异常');
end;

 

11.游标的使用,游标即用于 读取多行数据

--显示游标游标
--用显示游标一般分为4步,1.创建 2.打开 3.读取 4.关闭
--读取内容使用fetch,相当于结果集读取的Next
--loop循环
declare
    cursor my_cursor is select * from info;--声明
    myrow info%rowtype;
    begin
         open my_cursor;--打开
         fetch my_cursor into myrow;--取数据
         loop
              if my_cursor%found then
                 dbms_output.put_line(myrow.id);
                 fetch my_cursor into myrow;
              else
                 exit;
              end if;
         end loop;
         close my_cursor;--关闭
    end;
--while循环
declare
  cursor my_cursor  is
   select * from users;--声明
 myrow users%rowtype;
begin
  open my_cursor;--打开
  fetch my_cursor into myrow;--取数据
  while (my_cursor%found) loop
     dbms_output.put_line(myrow.id||'==='||myrow.name||'==='||myrow.password);
     fetch my_cursor into myrow;
  end loop;
  close my_cursor;--关闭
end;
--for循环
declare
  cursor my_cursor  is
   select * from users;--声明
 myrow users%rowtype;
begin
  for myrow in my_cursor loop
     dbms_output.put_line(myrow.id||'==='||myrow.name||'==='||myrow.password);
  end loop;
end;

 

12.提示输入,与输出

--输出
dbms_output.put_line('输出');
--输出前必须打开输出功能
set serveroutput on;
--输入利用&即可,如果是字符串则需要打上单引号
declare
       uname varchar2(20):='&请输入汉字';
       num number:=&请输入数字;

 

13.在oracle中,单引号中使用单引号,则需要利用转义符,转义符为 单引号

分享到:
评论

相关推荐

    Oracle PL/SQL程序设计(第5版)(上下册)

    - **集合与记录**:学习如何使用PL/SQL中的集合和记录类型,这些结构可以帮助更高效地处理数据集。 - **游标**:介绍游标的使用方法,包括隐式游标和显式游标,以及如何利用游标遍历查询结果。 #### 四、PL/SQL中的...

    Oracle PL/SQL实例精解 数据库建立代码

    总结起来,"Oracle PL/SQL实例精解 数据库建立代码"涵盖了数据库设计、对象创建、索引优化以及数据插入等多个方面,是学习和提升Oracle数据库管理技能的宝贵资源。通过解析和执行这些示例,开发者可以更好地理解和...

    pl/sql数据库学习笔记

    下面是PL/SQL数据库学习笔记的知识点总结。 一、基本原则 *瀑布模型:需求分析→设计(概要设计,详细设计:SQL语句,变量(初始值是多少,最终值如何得到))→编码→测试→上线 二、Select into语句 *用于创建...

    PL/SQL Developer 7.0

    总结,PL/SQL Developer 7.0是Oracle数据库开发者的得力助手,通过其丰富的功能和用户友好的界面,可以大幅提升开发效率和代码质量。结合“PLSQL用户指南”,开发者可以系统学习并掌握PL/SQL编程,从而在数据库应用...

    pl/sql程序设计ppt

    总结,PL/SQL提供了丰富的编程工具,如过程、函数、触发器和包,使开发者能更灵活地管理和操作数据库。通过学习和掌握这些概念,你可以创建高效、可维护的数据库应用程序。这份"pl/sql程序设计ppt"可能包含了对这些...

    PLSQL.zip_oracl_oracle pl/sql ppt_pl sql ppt tutorial_pl/sql_pls

    "PLSQL.zip_oracl_oracle pl/sql ppt_pl sql ppt tutorial_pl/sql plsql.ppt"这个压缩包提供了学习PL/SQL的基础材料,通过"第一章 pl-sql介绍.ppt"开始你的学习之旅,逐步探索这个强大而灵活的数据库编程语言。

    pl/sql学习笔记

    总结,"pl/sql学习笔记"涵盖了PL/SQL的各个方面,包括基本语法、数据类型、流程控制、存储过程、函数、异常处理、游标和事务管理。这些内容对于深入理解和使用Oracle数据库至关重要,也是提升数据库管理与开发技能的...

    Oracle PL/SQL programming(5th Edition)

    ### Oracle PL/SQL Programming知识点概览 #### 一、书籍基本信息 ...通过阅读本书,读者可以快速掌握PL/SQL的基础知识,并学习如何利用Oracle Database 11g Release 2的强大功能来构建高效的应用程序。

    PL/SQL学习文件

    ### PL/SQL学习知识点梳理 #### 一、PL/SQL简介 - **PL/SQL**是一种专门为Oracle数据库设计的过程化语言,它结合了SQL的数据操纵能力与传统编程语言的流程控制功能,使得开发者能够在数据库环境中编写更为复杂的...

    PL/SQL工具远程连接ORALCE数据库

    总结来说,PL/SQL Developer远程连接Oracle数据库主要依赖于TNS配置或Easy Connect语法。了解这两种方式的原理和配置,能够帮助开发者更高效地进行远程数据库管理工作,提高开发效率。请参照上述步骤进行操作,如有...

    Oracle PL/SQL Programming, 5th Edition

    ### Oracle PL/SQL Programming, 第五版 #### 书籍概述 《Oracle PL/SQL Programming, 第五版》是由Steven Feuerstein与Bill Pribyl共同编写的权威参考书,被视为数据库社区中最优秀的Oracle编程书籍之一。本书全面...

    关于pl/sql常量和变量

    ### PL/SQL 常量与变量详解 #### 一、引言 PL/SQL(Procedural Language for SQL)是Oracle数据库的标准编程语言,它将过程化代码块...通过本文的学习,读者可以更加熟练地运用PL/SQL编写高效、可靠的数据库应用程序。

    PL/SQL 基本语句

    ### PL/SQL基本语句知识点总结 #### 一、PL/SQL概述 - **定义**:PL/SQL(Procedural Language for SQL)是Oracle公司为SQL语言开发的一种过程化扩展语言,它允许用户在SQL的基础上添加过程化的编程功能,如循环、...

    PL/SQL初学者手册

    ### PL/SQL初学者手册知识点总结 #### 一、PL/SQL简介 PL/SQL (Procedural Language for SQL) 是 Oracle 对标准 SQL 语言的一种过程性扩展。它结合了 SQL 的数据处理能力和传统编程语言的过程控制能力,使得开发者...

    pl/sql学习

    ### PL/SQL 集合类型详解 #### 一、概述 PL/SQL(程序化SQL)是Oracle数据库的一种过程化扩展语言,它允许开发者在SQL的基础上编写更复杂的过程化逻辑,实现对数据库数据的高效处理。在PL/SQL中,集合是一种非常...

Global site tag (gtag.js) - Google Analytics