Oracle数据库之SQL基础和分支循环

一、SQL基础语言

DECLARE --声明
a varchar2(10); --变量或对象

BEGIN
  a:=‘小明‘;--  :=   表示给一个变量赋值
  dbms_output.put_line(a); --输出用 dbms_output.put_line()

END;

二、分支

DECLARE
  --声明
  A NUMBER(10);
  B NUMBER(10);

BEGIN

  A := 2;
  B := 3;

  IF A < B THEN
    DBMS_OUTPUT.PUT_LINE(‘a小于b‘);
  ELSIF A > B THEN --注意 ELSIF 的写法
    DBMS_OUTPUT.PUT_LINE(‘a大于b‘);
  ELSE
    DBMS_OUTPUT.PUT_LINE(‘a等于b‘);
  END IF;

END;

三、循环

第一种:(loop循环)

DECLARE

  M NUMBER(5);

BEGIN
  M := 5;

  LOOP
    EXIT WHEN M < 0;
    DBMS_OUTPUT.PUT_LINE(M);
    M := M - 1;
  END LOOP;

END;

执行结果:



第二种:(while 循环)

DECLARE

  M NUMBER(5);

BEGIN
  M := 5;

  WHILE M > 0 LOOP   --while 循环
    DBMS_OUTPUT.PUT_LINE(M);
    M := M - 1;
  END LOOP;

END;
执行结果:



第三种:(for循环)

DECLARE

BEGIN

  FOR N IN 1 .. 5 LOOP
    --for 循环只能遍历像1~5这样的有规律的数字
    DBMS_OUTPUT.PUT_LINE(N);
  END LOOP;

END;
执行结果:



四、处理异常

DECLARE
  M     NUMBER(10);
  SNAME VARCHAR2(10);

BEGIN

  M := 5;

  SELECT S.NAME INTO SNAME FROM Z_STUDENT S WHERE S.ID = M;
  DBMS_OUTPUT.PUT_LINE(‘查询结果:‘ || SNAME);

END;

执行结果:


然后抛出异常  exception

DECLARE
  M     NUMBER(10);
  SNAME VARCHAR2(10);

BEGIN

  M := 50; --改个不存在的值

  SELECT S.NAME INTO SNAME FROM Z_STUDENT S WHERE S.ID = M;
  DBMS_OUTPUT.PUT_LINE(‘查询结果:‘ || SNAME);

EXCEPTION
  --抛出异常
  WHEN NO_DATA_FOUND THEN
    DBMS_OUTPUT.PUT_LINE(‘没有查询到数据‘);

END;

执行结果:


再举个例子:

DECLARE
  --声明
  A NUMBER(10);
  B NUMBER(10);
  NOZERO EXCEPTION; --定义nozero  为异常类型
BEGIN

  A := 2;
  B := 0;

  IF A = 0 OR B = 0 THEN
    RAISE NOZERO; --RAISE   抛出异常
  END IF;

  IF A < B THEN
    DBMS_OUTPUT.PUT_LINE(‘a小于b‘);
  ELSIF A > B THEN
    --注意 ELSIF 的写法
    DBMS_OUTPUT.PUT_LINE(‘a大于b‘);
  ELSE
    DBMS_OUTPUT.PUT_LINE(‘a等于b‘);
  END IF;

EXCEPTION
  WHEN NOZERO THEN
    DBMS_OUTPUT.PUT_LINE(‘a和b都不能为0!‘);
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(‘其他异常!‘);

END;

执行结果为:

				
时间: 2024-12-13 05:11:49

Oracle数据库之SQL基础和分支循环的相关文章

Oracle数据库之SQL基础

主要内容:用户与表空间:表与约束:查询语句. 一.概述 Oracle安装:访问官网,下载 二.用户与表空间 在安装Oracle时在开始菜单里可以用sql puls登录oracle. 1.系统用户 sys.system (sys的权限要大于system,sys只能以系统管理员sysdba登录,system可以直接登录) sysman (用于企业管理,也是管理员级别的用户) scott (密码默认密码为tiger) 在安装Oracle时,前三个用户的密码是由你自己设置的,在设置时一般设置的是统一的密

Oracle数据库之SQL基础(二)

一.约束 ? 1.约束概述 约束作用: (1)定义规则 (2)确保完整性:包括数据的精确性.可靠性.以确保数据不会出错,或者尽量减少出错. 约束的类型: (1)非空约束 (2)主键约束 (3)外键约束(右外键约束)(左外键约束) (4)唯一约束 (5)检查约束 ? 2.非空约束 (1)在创建表时设置非空约束 语法:CREATE TABLE table_name(column_name datatype NOT NULL,...);(2)在修改表时添加非空约束 语法:ALTER TABLE tab

Oracle数据库—— PL/SQL基础编程

一.涉及内容 1. 掌握PL/SQL程序块的结构,理解并熟悉各种变量的应用. 二.具体操作 (一)使用system用户登录SQL*PLUS,使用SQL语句创建用户:u_你的姓名首字母(例如:u_zs),密码为: t_你的学号后三位(例如:t_165).并授予新用户连接数据库的权限,然后以新用户连接数据库. 1. 创建用户u_sxl 2. 授予新用户u_sxl连接数据库的权限 3. 以新用户u_sxl连接数据库 (二)使用scott用户连接数据库,使用SQL语句创建表dep_你的学号后三位(例如:

Oracle数据库开发SQL基础之约束

约束的作用:定义规则.确保完整性 一.非空约束 1.在创建表时设置非空约束 CREATE TABLE userinfo_1 (id number(6,0), username varchar2(20) not null, userpwd varchar2(20) not null )   2.在修改表时设置非空约束 DELETE FROM userinfo ALTER TABLE userinfo MODIFY username varchar2(20)not null 3.去除非空约束 ALT

Oracle数据库开发SQL基础之操作表中数据

一.添加数据 INSERT语句 INSERT INTO table_name(字段的名字,字段的名字)VALUES(VALUE1,VALUE2) 1.向表中所有字段添加值 INSERT INTO userinfo VALUES (1,'xxx','123','[email protected]',sysdate) 2.向表中制定的字段添加值 INSERT INTO userinfo(id,username,userpwd) VALUES(2,'yyy','123') create table u

Oracle实践--PL/SQL基础之同义词和序列

PL/SQL基础入门之同义词和序列             PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. 同义词: /*     同义词:现有对象的一个别名:    

Oracle实践--PL/SQL基础之表分区

PL/SQL基础入门之表分区 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. ---------------------------------------------

Oracle实践--PL/SQL基础之代码块

PL/SQL基础入门之代码块 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. 优点: 1.       支持SQL,可以使用:DML,DCL,游标控制和SQL运算符 2

Oracle实践--PL/SQL基础之游标

PL/SQL基础入门之游标 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. ----------------------------------------------