- JavaIO四大模型:NIO(IO多路复用)
Colourful.
Java网络编程java网络
文章目录概述NIO涉及到的名词JavaNIO服务端和客户端流程概述Java中的Selector和Linux中的epoll都是基友IO多路复用的,有时也被称为异步阻塞IO。我们之前介绍过,同步阻塞I/O和同步非阻塞IO。对于同步阻塞I/O来说,每次进行I/O时,我们的用户线程都会阻塞,显然这在高并发下效率很低。对于同步非阻塞I/O来说,每次进行I/O,虽然在内核缓冲区还没有数据的情况下,会给用户线程
- Spring容器中注册组件的几种方式
jarenyVO
SpringBootspringjava后端springboot
Spring容器中注册组件的几种方式本文大纲一、@Configuration和@Bean给容器中注册组件1.1.@Conditional按照条件注册bean二、@ComponentScan自动扫描组件三、@Import给容器中快速导入一个组件3.1.@Import使用class导入3.2.@Import使用ImportSelector全类路径名3.3.@Import使用ImportBeanDefi
- selenium UI自动化元素定位中classname和CSS区别
nanzhuhe
测试seleniumui自动化
在使用Selenium进行Web自动化测试时,定位元素是核心任务之一。Selenium提供了多种定位策略,包括通过ID、Name、ClassName、CSSSelector、XPath等。在这些定位策略中,ClassName(classname)和CSSSelector(CSSs)虽然经常被混淆,但它们在功能和用法上有所不同。ClassName(classname)ClassName是一种定位策略
- (18)java+ selenium自动化测试-元素定位之By css中篇
程序员的世界你不懂
javaseleniumcss
1.简介我们继续-css的定位元素的方法:ID属性值定位、其他属性值定位和使用属性值的一部分定位(这个类似xpath的模糊定位)。2.常用定位方法(8种)(1)id(2)name(3)classname(4)tagname(5)linktext(6)partiallinktext(7)xpath(8)cssselector(本篇讲解)3.自动测试实战以百度首页为例,将CSS的各种定位方法一一讲解和
- C3新增特性
小胖同学~
前端css
✅一、选择器(Selectors)1.属性选择器[attr^=value]:匹配属性值以特定字符串开头的元素。[attr$=value]:匹配属性值以特定字符串结尾的元素。[attr*=value]:匹配属性值包含特定字符串的元素。2.子元素和兄弟元素选择器:nth-child(n):匹配父元素下的第n个子元素。:nth-last-child(n):匹配父元素下的倒数第n个子元素。:nth-of-
- Keil中 L6406E: No space in execution regions with .ANY selector matching heap_4.o(.bss) 错误分析简述
lixzest
stm32C
链接器错误L6406E:Nospaceinexecutionregionswith.ANYselectormatchingheap_4.o(.bss)表明内存分配已超出预期范围,通常与全局/静态变量(.bss段)或堆(Heap)配置有关。以下是逐步解决方案:1.理解错误原因.bss段:存储未初始化的全局变量和静态变量。heap_4.o:通常与FreeRTOS的堆管理(Heap4)相关,Heap4需
- Vue3+TS 视频播放器组件封装(Video.js + Hls.js 最佳组合,从零基础到精通,收藏这篇就够了!
.hljs-comment,.hljs-quote{color:#b6b18b}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#eb3c54}.hljs-built_in,.hlj
- Android录制视频自带铺满多行水印
宝杰X7
Androidandroid音视频
文章目录引言环境要求代码实现总结引言 之前做过几种水印需求,这篇文章是关于使用Android原生库开发录制视频自带满帧文字水印。环境要求Android7.0以上AndroidStudio,官方开发者官网视频录制功能参考开源库PictureSelector的camerax库//用到的Google集成摄像头库constvalcamerax="1.4.2"constvalappcompat="1.2.0
- h5添加购物车动画(贝塞尔曲线)
路光.
动画
思路:获取动画移动到的终点位置,获取动画的起点位置,创建标签,删除标签,动画播放完成创建的domJS代码://返回元素的大小的及其相对于视口的位置获取动画下落的终点位置varcarRect=document.querySelector('.footer-car').getBoundingClientRect();this.jumpTarget={x:carRect.left+carRect.wid
- 微信小程序canvas实现抽奖动画
小糊涂加油
微信小程序小程序
本来想用setdata做抽奖动画的,但是存在合并更新以及性能问题,遂采用canvas的形式。参考了一篇blog,然后加了些抽奖逻辑的改动import{getRandomInt}from"../../utils/util";//components/names/names.tsComponent({lifetimes:{attached(){this.createSelectorQuery().se
- 【高频考点精讲】前端工程师必会的10种DOM操作优化技巧
全栈老李技术面试
前端高频考点精讲前端javascripthtmlcss面试题reactvue
前端工程师必会的10种DOM操作优化技巧(附真实代码示例)作者:全栈老李更新时间:2025年6月适合人群:前端初学者、进阶开发者版权:本文由全栈老李原创,转载请注明出处。最近在给团队做CodeReview时发现,很多同学对DOM操作的性能优化理解还停留在"少用querySelector"这种基础层面。今天全栈老李就给大家系统梳理下那些真正能提升页面性能的DOM操作技巧,都是我在大型项目中验证过
- React状态管理——RTK(Redux Toolkit)
安心不心安
React状态管理react.js前端前端框架
目录一、介绍二、安装三、目录结构设计四、案例store子模块搭建(store/counterStore.js)store主模块搭建(store/index.js)连接redux和react(index.js)react组件使用useSelector+useDispatch获取和修改状态(App.js)一、介绍二、安装//1.使用CRA快速创建React项目npxcreate-react-appre
- 从 v-model 到 defineModel:Vue3 正在悄悄改变开发习惯
代码里的小猫咪
vue前端vue.jsjavascriptv-modeldefineModeldefinePropsdefineEmits
一、组件化与双向绑定的演变背景1.早期前端:手写DOM与状态管理痛点在纯JavaScript时代,我们尝尝直接操作DOM、管理全局变量。随着应用复杂度提升,出现了以下问题:状态混乱:UI状态(表单值、控件可见性)散落在各个回调里,难以维护。模块化隔离不足:不同UI模块互相干扰,数据污染严重。手动同步:每次数据改变,都要手动querySelector→更新属性→补齐事件监听器,十分臃肿。2.MVVM
- 尚硅谷VUE项目-前端项目问题总结05【api-vuex-组件通信-面包屑-排序】
万物可爱_85
vue.jsjavascript前端
尚硅谷VUE项目-前端项目问题总结05search模块开发1.静态页面2.api3.vuex4.search产品模块和search子组件SearchSelector模块5面包屑【含组件兄弟通信$bus,子父自定义事件】6.排序search模块开发1.静态页面2.api//获取search数据/api/listPOST需要传递多个参数//当前接口,给服务器传递一个默认参数,至少是一个空对象expor
- 让没有小窗播放的视频网站的视频小窗播放
万能的小裴同学
前端javascript
让没有小窗播放的视频网站的视频小窗播放//视频小窗播放控制台脚本//将此代码复制到浏览器控制台运行//运行后,页面中的视频将添加小窗播放功能(function(){//获取页面中的所有video元素constvideos=document.querySelectorAll('video');if(videos.length===0){console.log('页面中没有找到video元素');re
- Kafka数据写入流程源码深度剖析(Broker篇)
Edingbrugh.南空
kafkakafka分布式
在Kafka数据写入流程中,Broker端负责接收客户端发送的消息,并将其持久化存储,是整个流程的关键环节。本文将深入KafkaBroker的源码,详细解析消息接收、处理和存储的具体实现。一、网络请求接收与解析Broker通过Processor线程池接收来自客户端的网络请求,Processor线程基于JavaNIO的Selector实现非阻塞I/O,负责监听网络连接和读取数据。其核心处理逻辑如下:
- Vue3中 :deep() 与 :deep 用法区别解析
在Vue3的ScopedCSS中,:deep()用于穿透样式作用域(样式穿透),其括号的使用有明确区别:1.有括号::deep(selector)(推荐写法)css复制下载:deep(.child-class){color:red;}✅正确用法:将需要穿透的选择器放入括号内✅编译后生成类似[data-v-xxx].child-class的选择器✅Vue3.3+官方推荐写法(无括号写法已被标记为废弃
- 用友uap开发nc65按钮配置
qq_31968809
用友ncuap用友用友ncxmlnc65
用友uap开发nc65按钮配置1.在xml文件中配置按钮2.新建一个java类与按钮相对应publicclassSelectOrCancelActionextendsNCAction{privateAbstractAppModelmodel;privatestaticfinallongserialVersionUID=1993918902236291721L;publicSelectOrCance
- html网页设计(旅游网站)
伤心小熊.
html旅游前端html5cssjquery
html部分获取时间hhhvardiv=document.querySelector('div');varmybtn=document.querySelector('button');varh=newDate().getHours();functionmyTime(){varh=newDate().getHours();vars="";if(hTRAVELDESTINATION当季热门旅行目的地旅
- 前端基础知识ES6系列 - 03(数组新增了哪些扩展)
前端小白从0开始
前端es6ecmascriptjavascripthtml5
一、扩展运算符的应用ES6通过扩展元素符...,好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列console.log(...[1,2,3])//123console.log(1,...[2,3,4],5)//12345[...document.querySelectorAll('div')]//[,,]主要用于函数调用的时候,将一个数组变为参数序列functionpush(array
- 软件测试之自动化测试常用函数
小何好运暴富开心幸福
可用性测试功能测试单元测试
软件测试之自动化测试常用函数自动化测试常用函数1.元素定位1.1cssSelector1.2xpath2.操作测试对象2.1点击/提交对象2.2模拟按键输入2.3清除文本内容2.4获取文本信息2.5断言2.6获取属性值2.7获取页面标题2.8获取页面链接3窗口3.1切换窗口3.2窗口设置大小3.3关闭窗口3.4屏幕截图4等待4.1强制等待4.2隐式等待4.3显示等待5浏览器导航5.1打开网站5.2
- 含eachars的html转pdf
张毫洁
htmlpdf前端
importhtml2canvasfrom‘html2canvas’;import{jsPDF}from‘jspdf’;printDivAsPdf(){console.log(this.baogao.nativeElement);leta=this.baogao.nativeElementasHTMLElement;constbjsElement=a.querySelector('#bjs')as
- Bug问题
帅帅哥的兜兜
bug
一、list页面importReact,{useEffect,useState}from'react';import{shallowEqual,useHistory,useSelector}from'dva';import{Button,message}from'choerodon-ui/pro';importformatterCollectionsfrom'hzero-front/lib/uti
- 使用eCharts绘制中国地图
夏日米米茶
echarts前端javascript
eCharts官网:https://echarts.apache.org/zh/index.html1.首先新建一个html页面,并引入echartseChartsMap2.接着准备地图数据文件从DataV获取GeoJson格式的地图数据:https://datav.aliyun.com/portal/school/atlas/area_selector如果你使用的是.json格式的文件,那么可以
- QuaggaJS 配置参数详解
IT 老王
服务器javalinuxjavascriptQuaggaJS
QuaggaJS配置参数详解QuaggaJS的配置参数非常灵活,可根据不同场景进行深度定制。以下是核心配置项的详细说明和使用示例:一、inputStream配置控制摄像头输入和视频流参数:inputStream:{name:"Live",//流名称(自定义)type:"LiveStream",//实时摄像头流target:document.querySelector('#interactive')
- 做前端五年的感受
前端
做了五年前端,真是一路从“摸石头过河”到现在的“手握利剑”啊。还记得刚开始的时候,写网页就是用最原始的JavaScript加上jQuery,那个时候感觉自己就是大神了——一行$(selector).hide()就能实现炫酷效果,页面动起来特别有成就感。可是,那种写法也蛮“粗糙”,代码一多就乱成一锅粥,维护起来特别费劲。后来慢慢接触到现代框架,先是Vue,再是React,感觉前端的世界突然宽广了很多
- easyexcel导出使用注解设置下拉选数据
maven依赖com.alibabaeasyexcel3.0.5获取下拉数据接口类,下拉数据需实现此接口类publicinterfaceExcelSelectorService{/***获取下拉数据**@returnjava.lang.String[]*@authorSunLingDa*@date2022/9/2016:50*/String[]getSelectorData();/***根据字典k
- el-select 实现分页加载,切换也数滚回到顶部,自定义高度
WKK_
javascriptvue.js前端elementui
el-select实现分页加载,切换也数滚回到顶部,自定义高度1.html2.功能js1.切换回到顶部//添加重置滚动位置的逻辑nextTick(()=>{constdropdown=document.querySelector('.el-select-dropdown.el-scrollbar__wrap');if(dropdown){dropdown.scrollTop=0;}});2.搜索方
- mysql一主多从 k8s部署实际案例
搞不懂语言的程序员
k8s中间件mysqlkubernetes数据库
一、Kubernetes配置(MySQL主从集群)主库StatefulSet配置(master-mysql.yaml):apiVersion:apps/v1kind:StatefulSetmetadata:name:mysql-masterspec:serviceName:"mysql-master"replicas:1selector:matchLabels:app:mysql-masterte
- seleniumbase中常用方法说明
ChiangBar
web自动化pythonselenium自动化功能测试测试工具
self.open(url)#将浏览器窗口导航到URLself.type(selector,text)#在输入框输入文本.self.click(selector)#点击元素.self.click_link(link_text)#点击超链接中的文本.self.go_back()#浏览器回退.self.select_option_by_text(dropdown_selector,option)#通过
- 解线性方程组
qiuwanchi
package gaodai.matrix;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Sc
- 在mysql内部存储代码
annan211
性能mysql存储过程触发器
在mysql内部存储代码
在mysql内部存储代码,既有优点也有缺点,而且有人倡导有人反对。
先看优点:
1 她在服务器内部执行,离数据最近,另外在服务器上执行还可以节省带宽和网络延迟。
2 这是一种代码重用。可以方便的统一业务规则,保证某些行为的一致性,所以也可以提供一定的安全性。
3 可以简化代码的维护和版本更新。
4 可以帮助提升安全,比如提供更细
- Android使用Asynchronous Http Client完成登录保存cookie的问题
hotsunshine
android
Asynchronous Http Client是android中非常好的异步请求工具
除了异步之外还有很多封装比如json的处理,cookie的处理
引用
Persistent Cookie Storage with PersistentCookieStore
This library also includes a PersistentCookieStore whi
- java面试题
Array_06
java面试
java面试题
第一,谈谈final, finally, finalize的区别。
final-修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能
- 网站加速
oloz
网站加速
前序:本人菜鸟,此文研究总结来源于互联网上的资料,大牛请勿喷!本人虚心学习,多指教.
1、减小网页体积的大小,尽量采用div+css模式,尽量避免复杂的页面结构,能简约就简约。
2、采用Gzip对网页进行压缩;
GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNⅨ系统的文件压缩。我们在Linux中经常会用到后缀为.gz
- 正确书写单例模式
随意而生
java 设计模式 单例
单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。
懒汉式,线程不安全
当被问到要实现一个单例模式时,很多人的第一反应是写出如下的代码,包括教科书上也是这样
- 单例模式
香水浓
java
懒汉 调用getInstance方法时实例化
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static synchronized Singleton getInstance() {
if(null == ins
- 安装Apache问题:系统找不到指定的文件 No installed service named "Apache2"
AdyZhang
apachehttp server
安装Apache问题:系统找不到指定的文件 No installed service named "Apache2"
每次到这一步都很小心防它的端口冲突问题,结果,特意留出来的80端口就是不能用,烦。
解决方法确保几处:
1、停止IIS启动
2、把端口80改成其它 (譬如90,800,,,什么数字都好)
3、防火墙(关掉试试)
在运行处输入 cmd 回车,转到apa
- 如何在android 文件选择器中选择多个图片或者视频?
aijuans
android
我的android app有这样的需求,在进行照片和视频上传的时候,需要一次性的从照片/视频库选择多条进行上传
但是android原生态的sdk中,只能一个一个的进行选择和上传。
我想知道是否有其他的android上传库可以解决这个问题,提供一个多选的功能,可以使checkbox之类的,一次选择多个 处理方法
官方的图片选择器(但是不支持所有版本的androi,只支持API Level
- mysql中查询生日提醒的日期相关的sql
baalwolf
mysql
SELECT sysid,user_name,birthday,listid,userhead_50,CONCAT(YEAR(CURDATE()),DATE_FORMAT(birthday,'-%m-%d')),CURDATE(), dayofyear( CONCAT(YEAR(CURDATE()),DATE_FORMAT(birthday,'-%m-%d')))-dayofyear(
- MongoDB索引文件破坏后导致查询错误的问题
BigBird2012
mongodb
问题描述:
MongoDB在非正常情况下关闭时,可能会导致索引文件破坏,造成数据在更新时没有反映到索引上。
解决方案:
使用脚本,重建MongoDB所有表的索引。
var names = db.getCollectionNames();
for( var i in names ){
var name = names[i];
print(name);
- Javascript Promise
bijian1013
JavaScriptPromise
Parse JavaScript SDK现在提供了支持大多数异步方法的兼容jquery的Promises模式,那么这意味着什么呢,读完下文你就了解了。
一.认识Promises
“Promises”代表着在javascript程序里下一个伟大的范式,但是理解他们为什么如此伟大不是件简
- [Zookeeper学习笔记九]Zookeeper源代码分析之Zookeeper构造过程
bit1129
zookeeper
Zookeeper重载了几个构造函数,其中构造者可以提供参数最多,可定制性最多的构造函数是
public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, long sessionId, byte[] sessionPasswd, boolea
- 【Java命令三】jstack
bit1129
jstack
jstack是用于获得当前运行的Java程序所有的线程的运行情况(thread dump),不同于jmap用于获得memory dump
[hadoop@hadoop sbin]$ jstack
Usage:
jstack [-l] <pid>
(to connect to running process)
jstack -F
- jboss 5.1启停脚本 动静分离部署
ronin47
以前启动jboss,往各种xml配置文件,现只要运行一句脚本即可。start nohup sh /**/run.sh -c servicename -b ip -g clustername -u broatcast jboss.messaging.ServerPeerID=int -Djboss.service.binding.set=p
- UI之如何打磨设计能力?
brotherlamp
UIui教程ui自学ui资料ui视频
在越来越拥挤的初创企业世界里,视觉设计的重要性往往可以与杀手级用户体验比肩。在许多情况下,尤其对于 Web 初创企业而言,这两者都是不可或缺的。前不久我们在《右脑革命:别学编程了,学艺术吧》中也曾发出过重视设计的呼吁。如何才能提高初创企业的设计能力呢?以下是 9 位创始人的体会。
1.找到自己的方式
如果你是设计师,要想提高技能可以去设计博客和展示好设计的网站如D-lists或
- 三色旗算法
bylijinnan
java算法
import java.util.Arrays;
/**
问题:
假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,
您希望将之分类,并排列为蓝、白、红的顺序,要如何移动次数才会最少,注意您只能在绳
子上进行这个动作,而且一次只能调换两个旗子。
网上的解法大多类似:
在一条绳子上移动,在程式中也就意味只能使用一个阵列,而不使用其它的阵列来
- 警告:No configuration found for the specified action: \'s
chiangfai
configuration
1.index.jsp页面form标签未指定namespace属性。
<!--index.jsp代码-->
<%@taglib prefix="s" uri="/struts-tags"%>
...
<s:form action="submit" method="post"&g
- redis -- hash_max_zipmap_entries设置过大有问题
chenchao051
redishash
使用redis时为了使用hash追求更高的内存使用率,我们一般都用hash结构,并且有时候会把hash_max_zipmap_entries这个值设置的很大,很多资料也推荐设置到1000,默认设置为了512,但是这里有个坑
#define ZIPMAP_BIGLEN 254
#define ZIPMAP_END 255
/* Return th
- select into outfile access deny问题
daizj
mysqltxt导出数据到文件
本文转自:http://hatemysql.com/2010/06/29/select-into-outfile-access-deny%E9%97%AE%E9%A2%98/
为应用建立了rnd的帐号,专门为他们查询线上数据库用的,当然,只有他们上了生产网络以后才能连上数据库,安全方面我们还是很注意的,呵呵。
授权的语句如下:
grant select on armory.* to rn
- phpexcel导出excel表简单入门示例
dcj3sjt126com
PHPExcelphpexcel
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
if (PHP_SAPI == 'cli')
die('This example should only be run from a Web Brows
- 美国电影超短200句
dcj3sjt126com
电影
1. I see. 我明白了。2. I quit! 我不干了!3. Let go! 放手!4. Me too. 我也是。5. My god! 天哪!6. No way! 不行!7. Come on. 来吧(赶快)8. Hold on. 等一等。9. I agree。 我同意。10. Not bad. 还不错。11. Not yet. 还没。12. See you. 再见。13. Shut up!
- Java访问远程服务
dyy_gusi
httpclientwebservicegetpost
随着webService的崛起,我们开始中会越来越多的使用到访问远程webService服务。当然对于不同的webService框架一般都有自己的client包供使用,但是如果使用webService框架自己的client包,那么必然需要在自己的代码中引入它的包,如果同时调运了多个不同框架的webService,那么就需要同时引入多个不同的clien
- Maven的settings.xml配置
geeksun
settings.xml
settings.xml是Maven的配置文件,下面解释一下其中的配置含义:
settings.xml存在于两个地方:
1.安装的地方:$M2_HOME/conf/settings.xml
2.用户的目录:${user.home}/.m2/settings.xml
前者又被叫做全局配置,后者被称为用户配置。如果两者都存在,它们的内容将被合并,并且用户范围的settings.xml优先。
- ubuntu的init与系统服务设置
hongtoushizi
ubuntu
转载自:
http://iysm.net/?p=178 init
Init是位于/sbin/init的一个程序,它是在linux下,在系统启动过程中,初始化所有的设备驱动程序和数据结构等之后,由内核启动的一个用户级程序,并由此init程序进而完成系统的启动过程。
ubuntu与传统的linux略有不同,使用upstart完成系统的启动,但表面上仍维持init程序的形式。
运行
- 跟我学Nginx+Lua开发目录贴
jinnianshilongnian
nginxlua
使用Nginx+Lua开发近一年的时间,学习和实践了一些Nginx+Lua开发的架构,为了让更多人使用Nginx+Lua架构开发,利用春节期间总结了一份基本的学习教程,希望对大家有用。也欢迎谈探讨学习一些经验。
目录
第一章 安装Nginx+Lua开发环境
第二章 Nginx+Lua开发入门
第三章 Redis/SSDB+Twemproxy安装与使用
第四章 L
- php位运算符注意事项
home198979
位运算PHP&
$a = $b = $c = 0;
$a & $b = 1;
$b | $c = 1
问a,b,c最终为多少?
当看到这题时,我犯了一个低级错误,误 以为位运算符会改变变量的值。所以得出结果是1 1 0
但是位运算符是不会改变变量的值的,例如:
$a=1;$b=2;
$a&$b;
这样a,b的值不会有任何改变
- Linux shell数组建立和使用技巧
pda158
linux
1.数组定义 [chengmo@centos5 ~]$ a=(1 2 3 4 5) [chengmo@centos5 ~]$ echo $a 1 一对括号表示是数组,数组元素用“空格”符号分割开。
2.数组读取与赋值 得到长度: [chengmo@centos5 ~]$ echo ${#a[@]} 5 用${#数组名[@或
- hotspot源码(JDK7)
ol_beta
javaHotSpotjvm
源码结构图,方便理解:
├─agent Serviceab
- Oracle基本事务和ForAll执行批量DML练习
vipbooks
oraclesql
基本事务的使用:
从账户一的余额中转100到账户二的余额中去,如果账户二不存在或账户一中的余额不足100则整笔交易回滚
select * from account;
-- 创建一张账户表
create table account(
-- 账户ID
id number(3) not null,
-- 账户名称
nam