toNumber

oracle异常处理

喜夏-厌秋 提交于 2020-08-13 13:42:29
语句执行过程中,由于各种原因使得语句不能正常执行,可能会造成更大错误或整个系统的崩溃,所以PS/SQL提供了异常(exception)着一处理的方法来防止此类情况的发生。在代码运行的过程中无论何时发生错误,PL/SQL都能控制程序自动地转向执行异常部分。 1.预定义异常 预定义异常是由于系统产生的。例如出现0除,PL/SQL就会产生一个预定义的ZERO_DIVIDE异常。 --ZERO_DIVIDE异常。使用系统预定义的异常处理,使用该处理后,程序运 行时系统就不会提示出现错误。 declare v_number1 number( 3 ):= 10 ; v_number2 number( 3 ):= 0 ; v_number3 number( 3 ); begin v_number3: =v_number1/ v_number2; DBMS_OUTPUT.PUT_LINE(v_number3); EXCEPTION when ZERO_DIVIDE then DBMS_OUTPUT.PUT_LINE( ' 除数不能为0 ' ); end; 输出结果:DIVIDE ZERO 2.PL/SQL中常见的异常: 3.转换的错误处理 declare v_number1 number( 3 ); v_char char ( 5 ):= ' 123c ' ; begin v_number1:

oracle常用函数使用大全

浪尽此生 提交于 2020-08-13 06:34:06
一、运算符 算术运算符:+ - * / 可以在select 语句中使用 连接运算符:|| select deptno|| dname from dept; 比较运算符:> >= = != < <= like between is null in 逻辑运算符:not and or 集合运算符: intersect ,union, union all, minus 要求:对应集合的列数和数据类型相同 查询中不能包含long 列 列的标签是第一个集合的标签 使用order by时,必须使用位置序号,不能使用列名 例:集合运算符的使用: intersect ,union, union all, minus select * from emp intersect select * from emp where deptno=10 ; select * from emp minus select * from emp where deptno=10; select * from emp where deptno=10 union select * from emp where deptno in (10,20); --不包括重复行 select * from emp where deptno=10 union all select * from emp where deptno in (10

以太坊智能合约开发框架Truffle

做~自己de王妃 提交于 2020-08-11 21:32:21
前言   部署智能合约有多种方式,命令行的浏览器的渠道都有,但往往跟我们程序员的风格不太相符,因为我们习惯了在IDE里写了代码然后打包运行看效果。   虽然现在IDE中已经存在了Solidity插件,可以编写智能合约,但是部署智能合约却要另走他路,没办法进行一个快捷的部署与测试。   如果团队管理的区块节点多、合约多,那得哭晕在厕所。   Truffle是一个世界级的智能合约开发框架,专门为智能合约而生。 安装 安装truffle sudo cnpm install -g truffle 查看版本 truffle version 搭建项目 创建项目目录 mkdir dapp cd dapp / 初始化空项目 truffle init 你也可以不创建空项目 而是创建一个带有模板的项目 如下 初始化模板项目 truffle unbox webpack 官方模板列表:https://www.trufflesuite.com/boxes 配置区块节点 truffle-config.js文件中networks代码段 用来配置区块链节点 示例中有这么一段 development: { host: " 127.0.0.1 " , // Localhost (default: none) port: 8545 , // Standard Ethereum port (default: none)

Oracle中单行函数操作详解

我的未来我决定 提交于 2020-08-11 05:59:25
单行函数 --PL/SQL (一)字符函数 函 数 说 明 CONCAT 拼接两个字符串,与 || 相同 INITCA P 将字符串的第一个字母变为大写 INSTR 找出某个字符串的位置 LENGTH 以字符给出字符串的长度 REPLACE 执行字符串搜索和替换 SUBSTR 取字符串的子串 TRIM 裁剪掉前面或后面的字符串 LOWER 将字符串转换成小写 UPPER 将字符串变为大写 实用: --(一)字符函数 -- dual虚表,因为数据不属于任何一个表,用虚表 --1.concat :字符串拼接 拼接两个字符串,与 || 相同 (1) select concat('abc','d') from dual; (2) select 'abc' || '123' from dual; --2. initcap: 收字母大写,将一个单词首字母转换大写,其他字母转换成小写 select initcap('hello') from dual; --3, instr: 找出字符串位置,从1开始计数 select instr('hello','e') from dual; --4. length: 字符串长度 select length('abcd') from dual; --5.替换 replace(字符串,被替换内容,替换内容) select replace('hello','e',

Flink异步IO结合Redisson访问Redis

妖精的绣舞 提交于 2020-08-11 04:34:22
发表于 2019-07-15 | 分类于 大数据 | 0 | 本文总阅读量 165次 Flink异步IO源码简析。 使用Redisson框架封装的异步请求API。 对key进行异步累计递增计数和计算业务值并保存在Redis中。 Lua脚本和事务API。 FLINK v2-异步IO的设计与实现 Flink使用异步IO访问外部数据 AsyncRedisJob代码 AsyncFunction  AsyncFunction是一个异步算子接口,本身继承Function和Serializable。  asyncInvoke()方法会对每一个上游任务下发的流数据进行异步操作,操作完了将结果输出到ResultFuture,回调方式是把ResultFuture传入回调API,Future方式是要调用resultFuture.complete才算异步调用完成【回调和Future看外部系统客户端的封装】。  timeout()方法用来处理异步调用超时的问题,有default修饰,有默认实现,可以不做处理,但通常要做进一步处理。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 @PublicEvolving public interface AsyncFunction<IN, OUT> extends

秋招快要开始了,前端笔试中的坑位-JS隐式转换问题

我的未来我决定 提交于 2020-08-10 21:11:44
我们在写笔试题的时候,经常碰到涉及隐式转换的题目,例如 "1" + 2 obj + 1 [] == ! [] [ null ] == false === 和 == = 叫做严格运算符,对象类型指向地址相同或原始类型( 数值、字符串、布尔值)值相同; 叫做相等运算符,类型不同会进行转化再比较,undefined、null相等,对象类型还是比较引用。 运算符将原始值和其包装对象视为相等,但 =运算符将它们视为不等。 所有obj.a null(相当于obj.a = null || obj.a ===undefined)。 相等运算符就是常常引起JS隐式转换的坑货,它也常常出现在我们的面试题中,不过我们在现实开发中,为了避免不必要的问题要求使用严格运算符,但是了解还是很有必要的。 想要了解JS隐式转换,就要先从三个知识点下手。 原始类型 原始类型(基本类型、基本数据类型、原始数据类型)是一种既非对象也无方法的数据。在 JavaScript 中,共有7种:string,number,bigint,boolean,null,undefined,symbol (ECMAScript 2016新增)。 falsy 值 (虚值) falsy 值 (虚值) 是在 Boolean 上下文中认定为 false 的值,在JavaScript只有 七个 falsy 值。 false false 关键字 0

分布式服务限流实战,已经为你排好坑了

匆匆过客 提交于 2020-08-10 09:51:42
一、限流的作用 由于API接口无法控制调用方的行为,因此遇到瞬时请求量激增时,会导致接口占用服务器过多资源,使得其它请求响应速度降低或者超时,更有甚者可能导致服务器宕机。 限流(Rate limiting)指对应用服务的请求进行限制,例如某一接口的请求限制为100个每秒,对超过限制的请求则进行快速失败或丢弃。 限流可以应对: 热点业务带来的突发请求 调用方bug导致的突发请求 恶意攻击请求 因此,对于公开的接口最好采取限流措施。 二、为什么要限流 当应用为单点应用时,只要应用进行了限流,那么应用所依赖的各种服务也都得到了保护。 但线上业务出于各种原因考虑,多是分布式系统,单节点的限流仅能保护自身节点,但无法保护应用依赖的各种服务,并且在进行节点扩容、缩容时也无法准确控制整个服务的请求限制。 而如果实现了分布式限流,那么就可以方便地控制整个服务集群的请求限制,且由于整个集群的请求数量得到了限制,因此服务依赖的各种资源也得到了限流的保护。 三、限流的算法 常用的限流算法有如下几种: 固定窗口计数器 滑动窗口计数器 漏桶 令牌桶 1、固定窗口计数器算法 固定窗口计数器算法概念如下: 将时间划分为多个窗口 在每个窗口内每有一次请求就将计数器加1 如果计数器超过了限制数量,则本窗口内所有的请求都被丢弃;当时间到达下一个窗口时,计数器重置 固定窗口计数器是最为简单的算法

以太坊智能合约开发框架Truffle

孤街醉人 提交于 2020-08-09 18:41:34
前言   部署智能合约有多种方式,命令行的浏览器的渠道都有,但往往跟我们程序员的风格不太相符,因为我们习惯了在IDE里写了代码然后打包运行看效果。   虽然现在IDE中已经存在了Solidity插件,可以编写智能合约,但是部署智能合约却要另走他路,没办法进行一个快捷的部署与测试。   如果团队管理的区块节点多、合约多,那得哭晕在厕所。   Truffle是一个世界级的智能合约开发框架,专门为智能合约而生。 安装 安装truffle sudo cnpm install -g truffle 查看版本 truffle version 搭建项目 创建项目目录 mkdir dapp cd dapp / 初始化空项目 truffle init 你也可以不创建空项目 而是创建一个带有模板的项目 如下 初始化模板项目 truffle unbox webpack 官方模板列表:https://www.trufflesuite.com/boxes 配置区块节点 truffle-config.js文件中networks代码段 用来配置区块链节点 示例中有这么一段 development: { host: " 127.0.0.1 " , // Localhost (default: none) port: 8545 , // Standard Ethereum port (default: none)

Oracle 隐式转换

╄→гoц情女王★ 提交于 2020-08-08 12:16:32
Oracle在执行自隐式转换时:总是会把字符串转为数字,字符串转为日期。当列进行转换,会跳过索引,降低性能。 创建一个表格,给三个列建立索引,进行测试。 create table t1(n1 number , v1 varchar2 ( 10 ), d1 date); insert into t1 select rownum n1 , rownum v1 , sysdate + dbms_random.value( 0 , 365 ) from dual connect by level <= 1e3; create index t1_n1_idx on t1(n1); create index t1_v1_idx on t1(v1); create index t1_d1_idx on t1(d1); View Code 查看执行计划,v1列因为隐式to_number,所以没有走索引 select count ( 1 ) from t1 where v1 = 1 下面的走索引T1_V1_IDX select count ( 1 ) from t1 where v1 = ' 1 ' 查看执行计划,因为v1列需要转日期,所以不走索引 只要列不转类型,就走索引 总结自: https://www.red-gate.com/simple-talk/sql/oracle/oracle

基于oracle的sql优化

本秂侑毒 提交于 2020-08-05 01:07:31
一.编写初衷描述 【博客地址】http://www.cnblogs.com/grl214 在应有系统开发初期,由于数据库数据较少,对于sql语句各种写法的编写体现不出sql的性能优劣,随着数据的不断增加,出现海量数据,劣质sql与优质sql在执行效率甚至存在百倍差距,可见sql优化的重要性 二.Sql语句性能优化 2.1 认识Oracle的执行过程 2.2 Oracle优化法则---漏斗法则 2.3 Oracle 执行计划 2.3.1 什么是Oracle执行计划 执行计划是一条查询语句在Oracle中执行过程或者访问路径的描述. 2.3.2 查看Oracle执行计划 1.执行计划常用的列字段解释 基数:返回的结果集行数 字节:执行该步骤后返回的字节数 耗费(cust),CPU耗费:Oracle估计的该步骤的执行成本,用于说明SQL执行的代价,理论上越小越好. 2.3.3 看懂Oracle执行计划 2.3.3.1执行顺序 根据缩进来判断,缩进最多的最先执行(缩进相同时,最上面的最先执行) 2.4 表的访问方式 TABLE ACCESS FULL(全表扫描) TABLE ACCESS BY ROWID(通过rowid的表存取) TABLE ACCESS BY INDEX SCAN(索引扫描) 2.4.1 ABLE ACCESS FULL(全表扫描) Oracle会读取表中的所有行