自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 实现角色分层逻辑方案(sql server版)

用户---角色---权限 数据分层看板

2022-02-16 14:02:31 443

原创 Oracle 错误解决(ORA-01034和ORA-27101)

本地Oracle使用得好好的,今天连接数据库时候首先报错ORA-12514:TNS:无法解析指定的连接标识符,然后捣鼓一波将服务重启了,我也不清楚搞了啥,大概重启了服务。(应该是启动服务的时候顺序搞错了)然后换了ORA-01034和ORA-27101这两个错误了(重点来了,这就是这文章的重点)我上网搜了一波,什么start,showdown啥的,我都没试过都报错了然后我又在网上搜了一波,有的说tnsnames.ora有问题,有的说是listener.ora有问题,然后对了一下好像我没有改过。再

2021-06-10 17:21:24 1403

原创 PLSQL 异常处理

模板:DECLARE -- 声明(常量/变量/显式游标)BEGIN -- 执行(条件控制/循环/隐式游标/...)EXCEPTION -- 异常处理END;通常做法:EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLERRM); ROLLBACK; END;...

2021-06-09 10:57:41 244

原创 shell 连接数据库进行查询和调用存储过程

#!/bin/bash# #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,此处为Shell# 设置数据库连接变量ip=xxx.xxx.xxx.xxx --数据库ipport=1521 --数据库端口sid=orcl --数据库名称username=scott --数据库用户名password=123456 --数据库密码oracle_name="${username}/${password}@${ip}:${port}/${sid}"# 连接oracle#

2021-06-09 10:36:35 1282

原创 Oracle 伪列lever(递归)

1.Oracle中使用connect by 来实现树状查询,其中可以使用level这个伪列来实现分层查询。2.配合dual表,生成可以计算的连续的值select .., lever, .. from dualconnect by lever<= 深度值DEMO:利用递归生成20180101到20221231,日期的年季月数据列SELECT TO_DATE(20180101, 'YYYYMMDD') + LEVEL - 1 AS DAY_CODE, TO_CHAR(TO_

2021-06-09 10:18:54 326

原创 PLSQL存储过程定时作业(DBMS_JOB)

格式:– 包中的存储过程DBMS_JOB.SUBMIT,参数如下DBMS_JOB.SUBMIT( JOB OUT BINARY_INTERGER, -- 用于指定作业编号 WHAT IN VARCHAR2, -- 用于指定作业要执行的操作 NEXT_DATE IN DATE DEFAULT SYSDATE, -- 用于指定该操作的下一次运行的日

2021-06-09 10:02:53 897

原创 PLSQL 包(PACKAGE)

SQL封装过程SQL->PL/SQL块——>过程体(PROCEDURE、FUNCTION、TRIGGER)——>包(PACKAGE)包就是把相关的存储过程、函数、变量、常量和游标等PL/SQL程序组合在一起,并赋予一定的管理功能的程序块。一个程序包由两部分组成:包定义和包体。其中包定义部分声明包内数据类型、变量、常量、游标、子程序和函数等元素,这些元素为包的共有元素。包主体则定义了包定义部分的具体实现。注意:包头声明的游标或过程体必须在包体中定义。语法格式:创建包定义(

2021-06-01 18:52:56 2040

原创 PLSQL 触发器(TRIGGER )

触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。触发器可以分为:语句级触发器和行级触发器。1. 在一个表中定义的语句级的触发器,当这个表被删除时,程序就会自动执行触发器里面定义的操作过程。这个就是删除表的操作就是触发器执行的条件了。2. 在一个表中定义了行级的触发器,那当这个表中一行数据发生变化的时候,比如删除了一行记录,那触发器也会被自动执行了。–触发器语法语法:CREATE [OR REPLACE] TRIGGER TRIGGER_NAME{BEFORE

2021-06-01 18:33:58 2503

原创 PLSQL 自定义函数(FUNCTION)

语法格式:创建函数CREATE [OR REPLACE] FUNCTION 函数名[(参数 参数类型[IN|OUT|IN OUT] 数据类型,……)]RETURN 返回的数据类型 -- 不带数据类型长度IS|ASPL/SQL函数体; -- 里面必须要有一个RETURN子句栗子:创建-- 传入两个参数,返回最大值CREATE OR REPLACE FUNCTION FUN_MAX (P_NUM1 IN NUMBER, P_NUM2 IN NUMBER DEFAU

2021-06-01 18:26:35 3579

原创 PLSQL 存储过程(PROCEDURE)

语法格式:创建存储过程CREATE [OR REPLACE] PROCEDURE 过程名[(参数1 [IN|OUT|IN OUT] 数据类型, 参数2 [IN|OUT|IN OUT] 数据类型……)]IS|ASPL/SQL过程体;调用存储过程,执行过程中的命令BEGIN 过程名[(参数)];END;设置存储过程定时作业(DBMS_JOB)该过程用于建立一个新的作业,当建立作业的时候,需要通过设置相应的参数来告诉Oracle要执行的内容,要执行的时间,要

2021-06-01 18:20:20 2730

原创 PLSQL 动态SQL

在PL/SQL程序开发中,可以使用DML语句和事务控制语句,但是还有很多语句(比如DDL语句)不能直接在PL/SQL中执行。这些语句可以使用动态SQL来实现。语法格式:动态SQL EXECUTE IMMEDIATE 动态语句字符串 [INTO 变量列表] [USING 参数列表]BEGIN EXECUTE IMMEDIATE 'CREATE TABLE TMP_BAK AS SELECT * FROM TMP'; -- 字符串语句最后不要加分号;END;或者DECLARE

2021-06-01 18:04:48 1591

原创 PLSQL ROWCOUNT

SQL%ROWCOUNT 用于记录修改的条数,必须放在一个增删改等修改类语句后面执行,select语句用于查询的话无法使用,当你执行多条修改语句时,SQL%ROWCOUNT 之前执行的最后一条语句修改数为准BEGIN DELETE FROM emp; DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT); -- 记录删除数据的条数 INSERT INTO emp(empno) VALUES (7777); DBMS_OUTPUT.PUT_LINE(SQL%.

2021-06-01 17:42:45 983 1

原创 PLSQL 游标和引用数据类型

游标的类型有两种:隐式游标和显式游标说明:当进行表的数据查询操作, 一般用游标实现,查询结果为单行的可以用隐式游标select … into …,查询结果为多行的可以用显式游标cursor …;1.隐式游标(单行值写入变量可以用select … into …)对变量赋值还可以使用SELECT…INTO 语句从数据库中查询数据对变量进行赋值。**查询的结果只能是一行记录,不能是零行或者多行记录。**打印出emp中员工编号为7369的姓名和工资。 DECLARE V_ENAME VAR

2021-06-01 17:36:26 715

原创 PLSQL 循环结构

LOOP循环结构语法格式:LOOP --循环体END LOOP;1.循环体在LOOP和END LOOP之间,在每个LOOP循环体中,首先执行循环体中的语句序列,执行完后再重新开始执行。2.在LOOP循环中可以使用EXIT或者[EXIT WHEN 条件]的形式终止循环。否则该循环就是死循环。WHILE LOOP循环结构(先判断条件,条件成立再执行循环体)WHILE 条件 LOOP --循环体END LOOP;FRO LOOP循环结构FOR循环需要预先确定的循环次数,可通过给循环变

2021-05-28 10:14:06 245

原创 PL/SQL 条件控制

1. IF 语句-- IF-THENIF 条件 THEN --条件结构体END IF;-- IF-THEN-ELSEIF 条件 THEN --条件成立结构体ELSE --条件不成立结构体END IF;-- IF-THEN-ELSIFIF 条件1 THEN --条件1成立结构体ELSIF 条件2 THEN --条件2成立结构体ELSE --以上条件都不成立结构体END IF;2. CASE 语句CASE WHEN 表达式1 THEN 语句序列1;

2021-05-28 10:01:58 95

原创 ORACLE 增量更新Merge

语法格式(不是所有数据库都通用):MERGEMERGE INTO 目标表USING (增量) 增量表ON (匹配字段)WHEN MATCHED THEN UPDATE SET 目标表.字段1=增量表.字段1, ... 目标表.字段n=增量表.字段nWHEN NOT MATCHED THEN INSERT (目标表.字段1,..目标表.字段n)VALUES (增量表.字段1,..增量表.字段n);表DictAid1desc11001基金

2021-05-28 09:51:41 986

原创 ORACLE 表分区

表分区前提:表数据量比较大的时候,查询比较慢优点:1.提高查询效率 2.增强可用性 3.维护方便(只对某些有问题分区数据维护,不用对整张表维护)缺点:2.分区表需要维护(维护创建的分区)(1)范围分区:按入职日期进行范围分区CREATE TABLE MYEMP ( EMPNO NUMBER(4) PRIMARY KEY, ENAME VARCHAR2(10), HIREDATE DATE, DEPTNO NUMBER(7) ) PARTITION BY

2021-05-28 09:41:33 107

原创 ORACLE 临时表

临时表创建ORACLE临时表,可以有两种类型的临时表:会话级临时表(1.其它会话查询不到数据 2.本会话关掉后也查询不到数据)事务级临时表(1.当进行事务提交或者事务回滚的时候,临时表中的数据将自行被截断2.其它会话查询不到数据3.本会话关掉后也查询不到数据)1)会话级临时表 CREATE GLOBAL TEMPORARY TABLE TABLE_NAME (COL1 TYPE1,COL2 TYPE2...) ON COMMIT PRESERVE ROWS;2)事务级临时表 CRE

2021-05-28 09:29:09 129

原创 Oracle 分析函数

分析函数语法格式:(<> 内的内容可以选择性省略)FUNCTION_NAME(<参数>,…) OVER (<PARTITION BY 表达式,…> <ORDER BY 表达式 <ASC DESC> )函数为聚合函数(AVG,SUM,COUNT)FUNCTION_NAME(<参数>,…) OVER (PARTITION BY 表达式,… ) – 分组求值FUNCTION_NAME(<参数>,…) OVER

2021-05-25 11:57:52 218 1

原创 Oracle 行列转换

行转列:表T_Y_Q_AMTYQAMT2015110020152110201531302015410020161200201621502016310020164300结果:YQ1Q2Q1Q220151001101301002016200150100300SUM(CASE WHEN … END)SELECT A.Y, SUM(CAS

2021-05-25 10:58:43 115

原创 Oracle exists 用法

demo:select ... from a where exists (select ... from b where ...) -- a和b在括号中的where 会有连接关系EXISTS 函数EXISTS(查询结果集):查询结果集有记录则成立,否则不成立NOT EXISTS(查询结果集):与EXISTS相反优点:一般子查询效率比较低, 可以用EXISTS函数等价改写-- 列出有员工的部门信息SELECT D.* FROM DEPT D WHERE DEPTNO IN (S

2021-05-25 10:06:25 694

转载 ORACLE WITH AS 用法

–对一张表查询结果取别名with tmp as (select * from tb_name)–对多张表查询结果取别名withtmp as (select * from tb_name),tmp1 as (select * from tb_name2),tmp1 as (select * from tb_name3),…–对两场表的查询结果取别名,然后连接两张表的结果(file字段为条件)witha as (select * from tmp1),b as (select * from

2021-05-25 10:01:20 644

原创 xpath解析栗子

环境安装pip install lxmletree对象实例化# 本地文件:tree = etree.parse(文件名)tree.xpath("xpath表达式")# 网络数据:tree = etree.HTML(网页内容字符串)tree.xpath("xpath表达式")xpath表达式/(单斜杠):表示的是从根节点开始定位,表示的是一个层级。//(双斜杠):表示的是多个层级。可以表示从任意位置开始定位。属性定位://div[@class=‘song’] tag[@attrN

2021-04-26 14:16:23 213

原创 数据解析-正则解析栗子

通过页面的代码可以获取图片文件的src<div class="thumb"> <a href="/article/124244771" target="_blank"> <img src="//pic.qiushibaike.com/system/pictures/12424/124244771/medium/E8E20LENTHDVP4N3.jpg" alt="糗事#124244771" class="illustration" width="100%" heigh.

2021-04-26 10:27:18 129

原创 cmd运行python

首先是python环境配置没问题cd 到.py 文件路径执行命令 python xxx.py

2021-04-22 17:55:44 128

原创 requerts模块入门栗子

GET请求import requestsif __name__ == "__main__": url = xxx #ajax-get请求的url(从抓包工具中获取) headers = {'xxx':xxx} #定制请求头信息,相关的头信息必须封装在字典结构中 param = {'xxx':xxx} #定制get请求携带的参数(从抓包工具中获取) response = requests.get(url=url, headers=headers,

2021-04-22 17:52:46 288 1

原创 linux命令有意思玩法

通过cmd远程连接服务器ssh -p 端口 用户名@服务器IP地址

2021-04-21 17:32:47 113

原创 虚拟机网络配置

1.将虚拟机都设置成桥接模式2.通过ifconfig查看当前网络3.利用ifconfig ens34 192.168.31.140 修改4.通过ping命令查看网络结果若还是ping不通利用root用户进入/etc/sysconfig/network-scripts,修改ifcfg-ens34文件信息修改IPADDR,GATEWAY信息然后重启网络sudo service network-manager restart...

2021-04-14 17:15:06 160

原创 orcl建表大小写问题

"ORA-00942: 表或视图不存在 "的原因和解决方法采用Oracle数据库,使用Powerdesigner设计,生成Sql文件导入后查询出现“ORA-00942: 表或视图不存在 ”之前生成的sql:解决的办法:Database----->Edit Current DBNS…选择Script->Sql->Format->CaseSensitivityUsingQuote将Yes选择改成No生成的建表sql,没有带””,查询时候正常使用...

2021-04-14 17:13:40 145

原创 CRT编码乱码问题

需要进行以下简单设置:首先进入 Option 菜单 >> Session OptionTerminal >> Emulation,在右边 Terminal下拉菜单中选择"Linux", "ANSI Color"前面打上勾。Terminal >> Appearance,3.1 点右边的Font 按钮, 1) 选择新宋体,2) 字符集选"中文 GB2312"3.2 Charactor 下拉菜单中选择 “Default”, 去掉"Use Unicode line d

2021-04-14 17:10:31 871

原创 SQL 导出导入数据

导出查询结果生成del文件:export to xx.del of del select * from table_name (where 条件)导入.del 文件数据插入表内:import from xx.del of del insert into talble_name

2020-04-27 17:16:38 415

原创 运行shell的时候,出现错误^M not found的解决方法

首先确保文件有可执行的权限:chomd a+x filename然后进入文件vi filename命令模式:{利用命令查看文件格式:set ff 或者 :set fileformat会返回如下信息fileformat=dos 或者 fileformat=unix}修改为unix格式{利用命令修改文件格式:set ff=unix 或者 :set fileformat=un...

2020-04-27 17:05:13 1081

原创 SQL日常用法(二)

图一:图二:一、DDL语句1、建表根据上图二写出两个表的建表语句create table fwbzhb( wbzh char(19) not null, zh char(16) not null, khdh char(16) not null, hm varchar(16) not null);create table fnbzhb ( zh ...

2020-03-04 18:30:32 177

原创 浅谈线程池与实现(C)

浅谈线程池:线程池是一个使用多线程来处理一个可并行执行的任务。可并行执行的任务就是一个任务可以拆分很多部分,每个部分可以同时进行处理,所有部分处理完后整个任务也就处理完成。(相当于生产一个玩具,可以拆开很多部分,每个部件不一定是按着顺序生产,但是只要生产完成了,这个玩具就完成了)线程池内部会启动多个线程,每个线程都可以执行独立的工作,互相之间可以联系,也可以没有联系。线程中通过线程的互斥和...

2020-01-17 18:04:10 129

原创 线程的互斥和同步技术

概念线程之间共享大量的内容,多线程在访问共享数据时,需要一些保护机制,避免造成数据混乱和错误。常用互斥技术:互斥锁、信号量常用同步技术:条件变量互斥锁编程步骤:1)初始化互斥锁2)加锁3)访问共享资源4)解锁5)不再使用,销毁锁互斥锁实现:#include <stdio.h>#include <stdlib.h>#include <pt...

2020-01-17 11:27:35 148

原创 线程相关函数

线程相关函数(在Linux中要使用线程需要借助第三方库 ----- pthread线程库,多线程代码编译时需要添加线程库 -pthread)创建线程(pthread_create函数)头文件:#include <pthread.h>原型:int pthread_create(pthread_t *thread, const pthread_attr_t *attr, vo...

2020-01-17 10:01:58 137

原创 进程相关命令与函数

一、常用进程相关命令ps命令ps -elfps auxtop命令动态查看进程的情况pstree命令打印进程树kill命令给某个进程发送信号kill -9 进程号-----给进程发送SIGKILL(9号信号)查看所有信号kill -lmkfifo 命令创建有名管道:mkfifo 管道文件路径标准IPC结构命令ipcs — 查询当前系统的IPC结...

2020-01-16 16:31:41 182

原创 C语言实现队列

1.概念队列也是一种线性的数据结构,采用先进先出的方式来管理数据,存入(队尾)和取出(队首)在两个不同的端点进行,需要记录两个端点各自的位置2.实现思路队列是一种逻辑概念,可以使用顺序结构来实现(顺序队列),也可以使用链式结构来实现(链式队列)顺序队列需要记录头和尾,一般的顺序队列的队列空间只能使用一次,为了重复使用队列空间,顺序队列会被设计为环形队列(循环队列)环形队列理论上空和满...

2020-01-14 16:57:13 396

原创 C语言实现栈

1.概念栈是一种线性的数据结构,采用先进后出的方式管理数据,一端的位置固定(栈底),另外一端随着数据的进出随时改变(栈顶)2.实现思路栈是一种逻辑概念,可以使用顺序结构来实现(顺序栈),也可以使用链式结构来实现(链式栈)链式栈可以使用单链表来实现,以头结点作为栈顶,从头部插入作为入栈,从头部删除作为出栈3.设计结构体typedef int T;typedef struct{ ...

2020-01-14 15:53:39 195

原创 C语言实现内核链表

内核链表(list.h)////////////////////////////////////////////////////////////////////// Copyright(C), 2013-2016, GEC Tech. Co., Ltd.//// File name: GPLE/ch03/3.1/list.h//// Author: Linux Kernel/...

2020-01-14 15:17:22 436

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除