首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PLSQL --> PLSQL记录

    定义了PL/SQL记录类型之后,可以定义PL/SQL记录变 量。声明一个PL/SQL记录变量相当于定义了多个标量变量,简化了变量的声明,从而大大节省了内存资源。多用于简化单行多列的数据处理。...%rowtype定义PL/SQL记录 使用%rowtype时,记录成员名称和类型与所依赖对象(表,视图,游标)名称和类型完全相同 对于表和视图,游标所有列定义时,使用%rowtype定义将大大节省内存空间...record_name table_name%rowtype --基于不同的对象定义PL/SQL记录,此处为表 record_name view_name%rowtype reocrd_name...cursor_name%rowtype 二、PL/SQL记录的使用 1....ROW来表示整行 END; / --使用PL/SQL记录成员(使用成员记录更新单列或多列) scott@ORCL> DECLARE 2 dept_record dept%ROWTYPE;

    99330

    【基础概念】YashanDB加密方法

    表空间透明加密在数据库写入表空间存储介质时自动加密,从存储读取至数据库buffer内时解密,加解密过程对应用程序透明,数据库层的访问控制、SQL查询等都不会受任何影响。...# 列透明加密列加密在数据经过SQL层时对数据进行透明的加密和解密,用户对加解密过程无感知。插入或更新已加密的列时,会先对目标列值进行截获、加密,然后以密文形式进行保存。...可以使用yaswrap对指定代码文件进行加密并输出包装后的文件,避免他人通过数据库视图(例如*_SOURCE)查看到PL源码。...可以直接执行yaswrap加密后的密文创建PL对象(数据库表中存储的也是密文),该PL对象后续仍可正常执行,用户对系统的加/解密无感知。...如需重建加密包装后的PL对象,不允许直接在数据库中编辑(直接编辑会导致过程体无法正常执行),需先修改源文本文件再重新使用yaswrap进行加密包装。

    21700

    PLSQL 联合数组与嵌套表

    通常情况下,在PL/SQL中,处理单行单列的数据可以使用标量变量,而处理单行多列的数据则使用PL/SQL记录是不错的选择。...在Oracle 9i 之前称为PL/SQL索引表,9i 之后称之为联合数组。嵌套表也是集合 类型中的一种,下面分别介绍这两种集合数据类型的使用方法。...一、联合数组 1、联合数组的特性 类似于一张简单的SQL表,按照主键进行检索数据 其数据行并不是按照预定义的顺序存储。当使用变量来检索其数据时,每行数据会分配一个连续的下标且从1开始。...下标可以为负值,且下标的数据类型支持binary_integer,pls_integer,varchar2 其数据元素个数无限制 不能作为表列的数据类型使用,即只能作为PL/SQL复合数据类型使用...JOHN(第一个和最后一个是按字母排序得到的) last element is SCOTT The score of Scott is 95 PL/SQL procedure successfully

    1.8K30

    NULL 值与索引(二)

    -->收集索引信息 scott@ORCL> exec dbms_stats.gather_index_stats('SCOTT','I_FN_T2_OBJ_ID'); PL/SQL procedure...-->收集索引信息 scott@ORCL> exec dbms_stats.gather_index_stats('SCOTT','I_NEW_T2_OBJ_ID'); PL/SQL procedure...-->基于上述情况,可以使用位图索引来解决,但此处我们讨论的是B树索引,故不考虑该情形(或者说你使用了非企业版Oracle,不支持位图索引) -->此处对于这类情形我们可以使用decode函数来解决这个问题...-->收集索引上的统计信息 scott@ORCL> exec dbms_stats.gather_index_stats('SCOTT','I_FN2_T2_OBJ_ID'); PL/SQL procedure...3、如果NULL值不可避免也不能使用缺省值,应考虑为该常用列使用nvl函数创建索引,或使用伪列来创建索引以提高查询性能。

    1.7K20

    【基础概念】YashanDB PL语言

    PL语言结构的基本原型为堆栈,遵循FILO的使用原则。组成PL的语言块整体上分为数据区和语句区两大部分。...静态SQL语句在PL编译阶段,会提前将PL中出现的变量改写成绑定参数的形式,再将改写后的语句传入SQL引擎进行编译。...动态SQL语句不似静态SQL语句受SQL语句类型范围限定,可以自由拼接需要执行的SQL语句达到PL极大的编程灵活度。...直接在SQL语句中调用自定义函数时,返回值会参与SQL的运算过程,此情况下不允许自定义函数携带出参,以及不允许函数体内存在影响SQL所在主事务的行为。...# 自定义类型自定义类型(UDT,User Defined Type)是由用户自行定义的数据类型,用于将现实世界的实体建模为数据库中的对象,可以用于表的列定义以及PL的变量类型定义。

    90410

    PLSQL 下SQL结果集以html形式发送邮件

    在运维的过程中,有时候需要定时将SQL查询的数据结果集以html表格形式发送邮件,因此需要将SQL查询得到的结果集拼接成html代码。对于这种情形通常有二种方式来完成。...一是直接使用cron job来定时轮询并借助os级别的邮件程序来完成。其查询结果集可以直接在SQL*Plus下通过设置html标签自动实现html表格形式。...一种方式是在Oracle中使用scheduler job来定时轮询。这种方式需要我们手动拼接html代码。本文即是对第二种情形展开描述。      ...关于PL/SQL下如何发送邮件可参考: PL/SQL 下邮件发送程序       OS 下发送邮件可参考:不可或缺的 sendEmail 1、代码描述 --下面的代码段主要主要是用于发送数据库A部分数据同步到数据库...B是出现的错误信息 --表syn_data_err_log_tbl主要是记录错误日志,也就是说只要表中出现了新的记录或者旧记录且mailed列标志为N,即表示需要发送邮件 --下面逐一描述代码段信息,该代码段可以封装到

    1.2K10

    PLSQL学习笔记-索引

    一:索引描述 一个索引可以由一个或多个列组成 对列设置索引其实就是对列的内容按一定的方式进行排序 检索数据的时候,检索排过序的数据 检索到最后一个有效数据之后就跳出检索 这样就不必进行全表扫描了, 同时可以应用很多算法提高检索效率...数据库多用二分法检索数据 二:索引分类 1  唯一索引(Unique) 不允许列内有重复的值 2  非唯一索引(normal) 允许列内有重复的值(默认创建非唯一索引) 3  位图索引(bitmap...) 这类索引和上两类索引的实现逻辑不通 三:各类索引的应用场合 当你的列中有很多重复的数据时适合建立位图索引 当查询时多用and 或or等逻辑运算符时适合建立位图索引 当查询条件多用大于小于等比较运算符时适合建立唯一或非唯一索引...下面看一个索引 另外 1  可以对函数创建索引,暂时先不谈这里的知识 2  索引可以由PL/SQL编程创建,但人们一般都是用工具完成这个工作的,索引我也不多介绍了 3  索引还有是否压缩和是否倒序的属性

    26730

    什么是plsql语句_过程化SQL有三种循环结构

    —认识PL/SQL *** PL/SQL的使用几乎贯穿于整个Oracle 的学习过程,也是作为一个初级开发人员必须掌握的重要知识点。...Oracle 服务器中 》》服务器上的PL/SQL程序可以使用权限进行控制 》》Oracle 有自己的DBMS包,可以处理数据的控制和定义命令...例如,实现如下的功能:产品很多种类,而在产品表中,产品的类型需要使用产品类型编码 替代,而不是名称,这样当输入记录的时候就需要把产品名称转换成产品编码,在PL/SQL...假如增加的数据 中该字段部分是一个负数,正常来说是可以进入数据库的,但这在逻辑上是不允许的,因为 没有数量为负的产品。...— 异常开始部分的关键字 /* 这里是异常处理部分,当出现异常时程序流程可以进入此处

    1.9K20

    consistent gets减少,cost增加?

    在一条SQL语句中,当使用索引时,cosistent gets 减少,而cost增加。理论上在稳定后的执行计划中,physical reads为零值的前提下, cost应当相应减少。...SQL> @Col_Usage.sql -->该SQL语句查询了SYS.col_usage$,SYS.col$等多个视图来获得列的使用情况...SQL> SELECT acc_num, amount, curr_cd -->SQL语句未加任何索引提示,此时已正确使用索引...d、收集统计信息时 size auto会自动收集非均衡分布列上的直方图信息(前提是where子句中引用到该列,系统根据列使用历史确定是否为其生成).  ...e、size auto不能保证完全收集到正确的统计信息时,使用skewonly模式(本例中即是,因为是测试数据库,可能由于列VALUE_DATE使用的历史    统计信息不够,而不能生成正确的直方图)

    1.1K10

    如何高效使用YashanDB PL语言?这5点建议值得收藏

    (可点击此处查看文章:《论Oracle兼容性,我们需要做什么?》)当这个范围缩小到PL语言时,Oracle兼容性的视角该如何呈现呢?...通过缓存机制,完成PL和SQL编译体的缓存,便于使用时可以快速执行。在此架构下,PL语言是可以完全发挥SQL引擎支持的所有能力。...PL语言与结构化查询语言SQL的结合非常紧密,具体表现在以下方面: 允许静态SQL操作,即直接使用所有的DQL、DML数据操作,事务控制语句,语句中完全支持内置函数、高级包的子函数、运算符和伪列; 允许通过动态...建议3:SQL查询相关的PL特性选择PL语言中常见的使用SQL的方式,有静态SQL特性、游标、动态SQL等。常见的业务逻辑是通过SQL获取数据后,需要进一步加工处理,然后返回处理后结果。...当依赖对象发生DDL,比如一个表动态增删了列,那么依据这个表的查询绑定的游标,其继承属性可能就会发生变化。

    67910

    Oracle 开放源代码项目

    如果您有自己喜欢的开放源代码项目未在此处列出,请在 OTN 会员服务论坛中告知我们。 TOra Tora 是用于 Oracle 的工具包,旨在帮助数据库管理员或数据库应用开发人员。...包括 PL/SQL 调试程序、突出语法主题的 SQL 工作表、数据库浏览器以及一整套数据库管理员工具。...PL/FLOW PL/FLOW 是用 Oracle PL/SQL 编写的工作流引擎,按照工作流管理联盟的规定实施接口 1 和 2(进程定义和客户端 API)。...Oracle PL/SQL 代码编辑器 Oracle PL/SQL 代码编辑器使您可以连接到任何 Oracle 数据库,浏览数据库对象,编辑和调试突出语法主题的 PL/SQL 代码。...主要面向某种 PL/SQL IDE,免费下载、使用、修改! Pretoria Pretoria 是一种操作 Oracle 索引文件的工具。

    3.9K80

    PLSQL 集合的初始化与赋值

    有关集合类型的描述请参考: PL/SQL 联合数组与嵌套表 PL/SQL 变长数组 PL/SQL --> PL/SQL记录 一、联合数组的赋值     联合数组的不需要初始化,直接赋值即可。...a、如果下标索引不存在或无法转换成正确的数据类型,PL/SQL就会抛出预定义异常VALUE_ERROR。                 通常,下标是一个整数。...b、如果所给下标索引指向了一个未初始化的元素时,PL/SQL就会抛出SUBSCRIPT_BEYOND_COUNT异常。        ...c、如果集合被自动初始化为空值并且程序引用了其中的一个元素,PL/SQL会抛出COLLECTION_IS_NULL异常。...10、注意理解复合类型之间(嵌套表和变长数组中嵌有PL/SQL记录)的变量元素间的传递以及集合方法BULK COLLECT INTO,LAST,EXTEND等。

    2.6K50
    领券