数据库
风水月
毕业于北京航空航天大学,精通JAVA WEB、C++、Andorid,做过管理系统、Android客户端、视频监控、自动化控制等项目。
展开
-
MySQL数据库乱码 - Linux下乱码问题一
乱码问题是很让人抓狂的问题,下面我将记录一下linux下mysql乱码问题的解决方法。mysql在linux下乱码问题一、操作mysql默认字符集是latin1,但是我们大部分程序使用的字符集是utf8,我们就需要修改mysql的字符集了。1)查看默认编码show variables like 'character%';+--------------------------原创 2013-08-18 17:23:12 · 4441 阅读 · 0 评论 -
使用DbVisualizer执行Oracle语句片段报错PLS-00103:Encountered the symbol "end-of-file"
今天使用DbVisualizer运行如下SQL片段DECLARE V_I INTEGER:=0; V_ORGID VARCHAR2(32);BEGIN FOR V_I IN 1..100 LOOP SELECT ORGID INTO V_ORGID FROM (SELECT ORGID FROM ORG ORDER BY DBMS_RANDOM.VALUE()) WHERE...原创 2019-07-09 15:20:50 · 15601 阅读 · 0 评论 -
mybatis在spring-boot中的默认sql执行器executor-type的修改
1.executor-type介绍mybatis提供三种sql执行器,分别是SIMPLE、REUSE、BATCH。SIMPLE是默认执行器,根据对应的sql直接执行,不会做一些额外的操作。REUSE是可重用执行器,重用对象是Statement(即该执行器会缓存同一个sql的Statement,省去Statement的重新创建,优化性能)(即会重用预处理语句)BATCH执行器会重用预处理语...原创 2019-04-11 23:55:02 · 16566 阅读 · 6 评论 -
Oracle多行数据转成一行
由于需要,需要将获取到的机构组织下的子组织组成一行数据,使用到了Oracle自带的函数listagg (列名,‘分隔符’) within group(order by 列名)即在每个分组内,LISTAGG根据order by子句对列植进行排序,将排序后的结果拼接起来我的组织结构是个树形结构,下面的SQL则是查询出当前部门下的所有子部门的名称。SELECT LISTAGG(O.ORGNAME...原创 2019-01-30 16:09:52 · 5159 阅读 · 1 评论 -
Sybase游标,函数学习记录(多行数据转成以逗号分隔的一条数据)
工作中使用到了Sybase数据库,现将Sybase使用过程,学习到创建函数及游标的使用记录下来。1.示例代码展示函数及游标的使用现贴出函数源码,该函数功能是将查询出的多列数据拼接成一个以逗号分隔的字符串--创建函数CREATE FUNCTION GETHOLDERSNAME(@P_ID VARCHAR(100))RETURNS VARCHAR(1000)ASBEGIN DECLAR...原创 2018-12-12 15:47:18 · 893 阅读 · 0 评论 -
数据库连接工具sqldbx、dbvisualizer使用笔记
近来需要使用新的数据库连接工具连接多种数据库,现在此做一个简单的总结记录,以备后续查看。一、sqldbx1、简介SqlDbx 是简单易用的数据库连接工具,SQL编辑,SQL查询工具。语句规则突出,智能化,自动完成,等等特色功能多多。支持Oracle,Sybase ASE, IBM,DB2/UDB, MicrosoftSQL Server,MySQL 和ODBC数据源。其官网地址为:http...原创 2018-11-15 11:12:59 · 11324 阅读 · 0 评论 -
MongoDB在windows下安装配置
安装文件:官方网站 http://www.mongodb.org/downloads选择对应系统的文件下载。一、解压缩文件。 将压缩包解压,在D盘创建文件夹MongoDB,将压缩包中所有的.exe文件拷到D:MongoDB文件夹中。二、建立工作目录。 1、建立数据存放目录 D:\mongodb\data 2、建立日志文件 D:\mongodb\log\mo转载 2013-01-12 09:38:37 · 744 阅读 · 0 评论 -
oracle、mysql、sqlserver函数区别
1.类型转换--Oracleselect to_number('123') from dual; --123; select to_char(33) from dual; --33;select to_date('2004-11-27','yyyy/mm/dd') from dual;--2004-11-27--Mysqlselect cast('123' as signed i转载 2013-09-02 18:28:38 · 1890 阅读 · 0 评论 -
构建施耐德楼控系统数据库后台服务器示例工程四(SQLServer查询语句)
由于目前做的是一个数据库操作的一个简易类,涉及到如下查询语句,在此记录一下。 1.查询表名select object_id,name name from sys.tables2.查询列信息SELECT (case when a.colorder = 1 then d.name else null原创 2015-08-10 00:49:58 · 1364 阅读 · 0 评论 -
Oracle Type介绍
Oracle 自定义TYPE 的几种用法Oracle中的类型有很多种,主要可以分为以下几类: 1、字符串类型。如:char、nchar、varchar2、nvarchar2。 2、数值类型。如:int、number(p,s)、integer、smallint。 3、日期类型。如:date、interval、timestamp。 4、PL/SQL类型。如:pls_intege转载 2014-09-01 22:52:22 · 29546 阅读 · 0 评论 -
C++完成Oracle存储过程批量插入(一)
为了满足大数据量的批量插入这个需求,最近研究了一下Oracle数据库的批量插入这块儿,本篇先介绍一下这两天来所了解到的以及一次不成功的C++进行存储过程批量插入方案。一.Oracle处理批量插入存储过程1.Oracle处理批量插入涉及到的相关概念有:Type、bulk collect、Oracle数组等。现在对它们依次简单的介绍一下。1)TypeType主要用于用户建立Oracle原创 2014-09-01 22:58:05 · 4506 阅读 · 0 评论 -
C++完成Oracle存储过程批量插入(二)
上篇文章简单的介绍了一下oracle参数是Object类型的数据库存储过程,以及JAVA使用JDBC去调用该类的存储过程的方法。但是我需要的是C++下的方案,使用Poco库未发现任何可以调用该类型存储过程的方法,但是功能还是需要实现的,后来发现Oracle支持XML的解析,于是有了下面的方案,即存储过程的参数为CLOB类型,C++按照传入XML格式字符串的方式调用存储过程,在存储过程中解析xml后原创 2014-09-01 23:19:02 · 2341 阅读 · 0 评论 -
公司考核题-(ORACLE篇一)
今天无聊翻腾刚毕业时的电脑,发现11年在单位实习时的一些练习题及考核试题和答案,现在在此记录一下,方便以后查阅。考核一:--1、列出薪金比"SMITH"多的所有雇员 select * from emp where sal > (select sal from emp where ename='SMITH');--2、找出佣金高于薪金60%的雇员 select原创 2015-02-18 17:04:43 · 1738 阅读 · 0 评论 -
公司考核题-(ORACLE篇二)
本篇主要考察的是算法--递归编程(树形的生成)--->本篇中的代码也可以使用ORACLE中的“CONNECT BY"来完成要求。考核题目如下:程序如下:1.创建表deptframworkinsert into deptframwork (DEPTID, UPPERID, DEPTNAME, DEPTNUM, CREATETIME, WHOLENAME, EMPLOYEE原创 2015-02-18 17:17:35 · 1457 阅读 · 0 评论 -
navicat连接oracle报错:ORA-12737 Instant Client Light:unsupported server character set ZHS16GBK
今天使用Navicat连接Oracle数据库,报了下面的这个错误:“ORA-12737 Instant Client Light:unsupported server character set ZHS16GBK”从这个错误上看,可以知道是客户端不支持服务器端的字符集造成的,但是修改服务器端的字符集是不现实的,那我们只能从客户端找原因了。我们知道Navicat连接Oracle使用的是OCI方式原创 2015-03-18 11:11:19 · 62870 阅读 · 4 评论 -
连接SQLServer异常
施耐德楼宇自动自带的SQLServer数据库采用默认的windows登陆方式,这样我们就无法通过IP进行远程连接,现将修改方法记录于此。1.修改sqlserver服务采用的tcp/ip协议a)在所有程序中调出SQL Server Configuration Manager,如下图:b)在SQL Server Configuration Manager中选中TCP/IP原创 2015-05-10 23:44:15 · 1681 阅读 · 0 评论 -
MySQL批量更新不同表中的数据
今天翻到以前写的批量更新表中的数据的存储过程,故在此做一下记录。当时MySQL中的表名具有如下特征,即根据需求将业务表类型分为了公有、私有和临时三种类型,即不同的业务对应三张表,而所做的是区分出是什么类型(公有、私有、临时)的业务表对数据的固定字段做统一规律的处理。下面为当时所编写的存储过程:BEGIN DECLARE done INT; DECLARE原创 2015-03-21 21:19:47 · 1900 阅读 · 0 评论 -
Mysql字符串函数
对于针对字符串位置的操作,第一个位置被标记为1。1.ASCII(str)返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。mysql> select ASCII('2'); -> 50mysql> select ASCII(2); -> 50mysql> select ASCII('dx转载 2013-09-02 18:35:18 · 1034 阅读 · 0 评论 -
Oracle 自带的一些SQL语句的写法
将字符串转为多列select regexp_substr('1,2,3,4,5','[^,]+',1,rownum) as col from dual connect by rownum<=length('1,2,3,4,5')-length(replace('1,2,3,4,5',','))+1; Oracle多行数据转成一行select listagg(o.org...原创 2019-07-09 15:45:10 · 777 阅读 · 0 评论