oracle 随记

关于用户权限:
将一个用户的表授权给另一个用户
grant 权限 on tableName to userName
grant select,insert,update,delete on 表名 to 用户名
关于同义词:
这个功能蛮不错的有点类似与用户权限的功能。
这个功能主要是在该用户下建立某个对象的实例。有点类似与我们 a = new Abcd()
中的a类似于代理。
create synonym 参数名 for 完整的表明
create synonym a_tbl for A.a_tbl

START WITH.条件1..CONNECT BY PRIOR..条件2.(WHERE..条件3.)
这个在百度上解释已经很多了,但是个人觉得他们总是说上一条记录.到底是什么让人很迷茫,所以个人就实验了下.得出一下结论.
这个语句的意思是:
以(条件1)为基础开始根据(条件2)做递归查询.
条件1中可以作为类似我们平常写where条件语句一样写,可以在后面写多个and.(这个条件主要是去查询你会从什么地方开始,是根节点还是子节点开始查询,这将直接影响到后面条件2的写法.)
条件2,是作为递归条件的条件.其中PRIOR关键字的意思表在PRIOR之后的一个字段是作为上一条记录的字段.而另一个就是当前记录字段.如PRIOR ID = PID 则表示.(上一条记录的id作为当前记录的Pid)
从别人的地方看到的是说...条件3是过滤条件.但是个人经过多次测试发现.(用WHERE是根本不行的,只能用AND+条件3)条件3是个废材.几乎起不到什么过滤作用.比如说我在用条件1和2查询来所有的树形结构后.我咱条件3中条件一个enabled=1(显示作用)但是查询出来的结果还是存在enabled不为1的.(这点我不知道是什么原因,但是有一点.如果说我们是从子节点往根查询的话,如果子节点为enabled=0的话就不是我们要的,可能来说条件3会过滤掉他,但是他的父节点确实enabled=1的.所以条件3个人觉得和涵盖到条件1中.直接屏蔽掉.)
好开始说条件1和条件2的关联.
个人猜想:(因为不能单独使用条件1或条件2).数据先是通过条件1来过滤掉我们不需要的查询基础(这为A表).然后再查询出整个表(这是B表).PRIOR 关键字后的字段则是A表中的字段(也就是上一条记录的字段).PRIOR ID = PID这的意思也就是说从这个表中查询到 PID=A.ID的字段(这边在作为后续的C表也就用来存放合适数据的表.之后还要这表带入从A开始查询然后把合理的数据全部条件到C表中).所以在从子节点查询开始和根节点查询开始,条件2所写的条件是不一样的.

当然这边还存在一个问题.就是如果是从子节点查询开始的话那么,他会把所有子节点的的父节点都罗列出来.也就是说如果是同一个父节点下的子节点.那么这个父节点可能就会出现多次.所以需要做distinct来去除重复的字段.

今天又发现一个东西 在写SQL的时候如果遇到要判断我们一般是用 CASE WHEN THEN END这种方式..还有另外一个函数我忘记了.就说这个吧.首先CASE WHEN (条件1AND条件2).这样可以写多个条件并列.不过前提是你的把CASE 后面的这个参数写到 WHEN后面来 和我们平常的IF判断一样..

以上见解纯属个人见解.并不能代表一定是这样.因为本人英文水平很差所以没去看官方的解释.本文纯属个人工作中的学习总结,如果有高手有心看到本文章请多多指教...
谢谢浏览...
提供了一个基于51单片机的RFID门禁系统的完整资源文件,包括PCB图、原理图、论文以及源程序。该系统设计由单片机、RFID-RC522频射卡模块、LCD显示、灯控电路、蜂鸣器报警电路、存储模块和按键组成。系统支持通过密码和刷卡两种方式进行门禁控制,灯亮表示开门成功,蜂鸣器响表示开门失败。 资源内容 PCB图:包含系统的PCB设计图,方便用户进行硬件电路的制作和调试。 原理图:详细展示了系统的电路连接和模块布局,帮助用户理解系统的工作原理。 论文:提供了系统的详细设计思路、实现方法以及测试结果,适合学习和研究使用。 源程序:包含系统的全部源代码,用户可以根据需要进行修改和优化。 系统功能 刷卡开门:用户可以通过刷RFID卡进行门禁控制,系统会自动识别卡片并判断是否允许开门。 密码开门:用户可以通过输入预设密码进行门禁控制,系统会验证密码的正确性。 状态显示:系统通过LCD显示屏显示当前状态,如刷卡成功、密码错误等。 灯光提示:灯亮表示开门成功,灯灭表示开门失败或未操作。 蜂鸣器报警:当刷卡或密码输入错误时,蜂鸣器会发出报警声,提示用户操作失败。 适用人群 电子工程、自动化等相关专业的学生和研究人员。 对单片机和RFID技术感兴趣的爱好者。 需要开发类似门禁系统的工程师和开发者。
开发相关随记包含多个方面: - **软件开发**:在增加和设计较为庞大的程序时,要考虑程序结构设计,如解耦、层与层接口、模块之间关系、参数、ram、flash、运行速度等。还可学习了解aoutosar的分层结构。新的项目需在较短时间完成从零编码到交付[^1]。 - **IsaacLab开发**:遇到在spring - damping模型下,调大限制和刚度、damping参数后出现异常情况,几十个episode插入后不在孔周围晃,此现象与预期不符,需进一步理顺[^2]。 - **Chrome扩展程序开发**:Map是新的数据类型,可在JavaScript中用于存储键值对实现快速查找,还给出了本地缓存工具的代码实现,同时列举了一些相关学习参考资料,如ReqBin在线API测试工具、Chrome插件开发攻略等[^3]。 ```javascript let data = new Map([ ['Alice', 25], ['Bob', 30], ['Charlie', 35], ['David', 40] ]); console.log(data.get('Alice')); // 25 var myLocalStorageTool = { set: function(key, value) { localStorage.setItem(key, value); }, get: function(key) { return localStorage.getItem(key); }, remove: function(key) { localStorage.removeItem(key); }, removeAll: function() { localStorage.clear(); }, toJsonString: function(jsData) { return JSON.stringify(jsData); }, toJsData: function(jsonString) { return JSON.parse(jsonString); } }; ``` - **X86平台开发**:对于intel的X86平台,intel提供完整数据手册和丰富资源,不同卷册有不同内容,如vol 1是整体介绍,vol 2是CPU部分寄存器说明等,还有PDG、硬件设计指南、散热文档、产线可制造性文档等可供参考[^4]。 - **通用开发问题**:client的定时器是通用功能,但依赖cocos2d的Scheduler类,导致移植到server端困难,使用C++标准库实现可避免该问题[^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值