SQL随记(四)

1.for loop 循环

格式:for index in lower .. upper

    loop

    end loop;

 for i in 1 .. g_descTbl.count
    loop
      if ( g_descTbl(i).col_type = 12 )
      then
        utl_file.put( l_output, l_sep || g_descTbl(i).col_name ||
                      ‘ date ‘‘ddmmyyyyhh24miss‘‘ ‘);
      else
        utl_file.put( l_output, l_sep || g_descTbl(i).col_name ||
                      ‘ char(‘ ||
                      to_char(g_descTbl(i).col_max_len*2) ||‘ )‘ );
      end if;
      l_sep := ‘,‘||g_nl ;
    end loop;

2.sql的异常处理:

(1)系统运行出错时自动抛出

(2)使用RAISE关键字抛出任何的异常,格式:RAISE exception_name;

declare
    is_exception EXCEPTION;
bein
    RAISE is_exception;
    end;

(3)使用Raise_Application_Error 抛出异常,它能抛出一个异常并给异常赋予一个错误号以及错误信息。格式:  Raise_application_error(error_number,message[,true,false])

begin
      Raise_application_error(-20123,‘can not find error‘,true);
    end;

(4)用户自定义异常

declare
ex_exception EXCEPTION;    --定义异常
PRAGMA EXCEPTION_INIT(ex_exception , -2292); --给自定义异常进行关联
begin
DELETE FROM departments WHERE department_id = v_deptno;
  IF SQL%NOTFOUND THEN
      RAISE ex_exception ;                --抛出
   END IF;
EXCEPTION
   WHEN ex_exception THEN                      --处理
      DBMS_OUTPUT.PUT_LINE(‘违反数据完整性约束!‘);
   WHEN OTHERS THEN
      DBMS_OUTPUT.PUT_LINE(SQLCODE||‘---‘||SQLERRM);
    end;

  

时间: 2024-10-09 11:55:18

SQL随记(四)的相关文章

SQL中的四种语言DDL,DML,DCL,TCL

1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema. DDL是SQL语言的四大功能之一.用于定义数据库的三级结构,包括外模式.概念模式.内模式及其相互之间的映像,定义数据的完整性.安全控制等约束DDL不需要commit.CREATEALTERDROPTRUNCATECOMMENTRENAME 2.DML(Data Manipulation Lang

SQL总结(四)编辑类

SQL总结(四)编辑类 应有尽有 1.数据库 创建数据库语法: CREATE DATABASE database_name 1)创建测试库 CREATE DATABASE TestDB 2)使用库 USE TestDB 3)删除库 DROP DATABASE TestDB 2.表 1)创建用户信息表,包括ID.姓名.年龄.专业ID.所在城市 CREATE TABLE Students( ID int, Name nvarchar(20), Age int, MajorID int, City n

SQL Server之 (四) ADO增删查改 登录demo 带参数的sql语句 插入自动返回行号

SQL Server之 (四) ADO增删查改  登录demo  带参数的sql语句  插入自动返回行号 自己学习笔记,转载请注明出处,谢谢!---酸菜 1.什么是ADO.NET ADO.NET是一组类库,这组类库可以让我们通过程序的方式访问数据库,并以各种方式操作存储在其中的数据; ADO.NET是基于.NET FrameWork,与.NET FrameWork类库的其余部分是高度集成的 2.连接数据库的步骤 ①创建连接字符串 Data Source=XXX-PC; Initial Catal

SQL Server的四种隔离级别(转)

转自:https://www.cnblogs.com/cnxcfeng/articles/1162341.html SQL Server的四种隔离级别知识点整理,特别制作了流程图,方便以后查看! SET TRANSACTION ISOLATION LEVEL{ READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE } 一.未提交读READ UNCOMMITTED(脏读)意义:包含未提交数据的读.例如,在多用户环境下,

SQL优化的四个方面,缓存,表结构,索引,SQL语句

一,缓存 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO. query_cache_size/query_cache_type (global) Query cache 作用于整个 MySQL Instance,主要用来缓存 MySQL 中的 ResultSet,也就是一条S

SQL事务的四种隔离级别和MySQL多版本并发控制

SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的那些改变时可见的,那些是不可见的.低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销. ReadUncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结构.本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少.读取未提交的数据,也被称之为脏读(Dirty Read) ReadCommitted(读取提交内容) 这是大多数数据库系统的默认隔离级别(但不是MySQL默认的).它

SQL语言的四种类型和ORACLE运算符

sql语句四种类型: 数据定义语言(DDL) 数据操作语言(DML) 数据控制语言(DCL) 事务控制语言(TCL) Data Definition Language(DDL) DDL使我们有能力创建或删除表格.也可以定义索引(键),规定表之间的链接,以及施加表间的约束. CREATE DATABASE - 创建新数据库   ALTER DATABASE - 修改数据库   CREATE TABLE - 创建新表   ALTER TABLE - 变更(改变)数据库表   DROP TABLE -

SQL Server中四类事务并发问题的实例再现(转)

本篇文章将用实例再现数据库访问中四类并发问题,希望能让初学者能对事务的并行性有进一步的理解. 首先,让我们先来了解一下并行问题以及事务隔离级别这两个概念.在数据库中,假设如果没有锁定且多个用户同时访问一个数据库,则当他们的事务同时使用相同的数据时可能会发生问题.并发问题包括: 丢失或覆盖更新. 未确认的相关性(脏读). 不一致的分析(非重复读). 幻像读. 下面让我们稍花点时间来解释一下这四类问题:1.丢失更新当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,会发生丢失更新问题.每个事

Influx Sql系列教程四:series/point/tag/field

influxdb中的一条记录point,主要可以分为三类,必须存在的time(时间),string类型的tag,以及其他成员field:而series则是一个measurement中保存策略和tag集构成:本篇教程将介绍一些这几个概念 1. tag influxdb数据结构中记录元数据(metadata)的kv对,不要求必须存在,tag key/value 都是字符串类型,而且会建立索引,因此基于tag进行查询效率比单纯的基于field进行查询是要高的:后续的一些sql也会发现,某些查询只能基于