
数据库-Oracle/SqlServer
文章平均质量分 62
深海蓝山的博客
没有最好的时刻,最好的时刻就是现在……
展开
-
Sql server 查看表引用、依赖项,删除表及约束 脚本
在删除表,有外键约束和引用时,会提示不可删除,这时需要我们确认被哪些表引用,以及被存储过程引用的表,在表删除后,也经相应的删除相关过程。1 被我引用的对象SELECT * FROM sys.dm_sql_referenced_entities('TableName','OBJECT');--查看依赖项2 引用我的对象SELECT * FROM sys.dm_sql_referencing_enti...原创 2018-05-15 20:01:08 · 6788 阅读 · 0 评论 -
SqlBulkCopy 高效、大数据量复制数据
SqlBulkCopy忆速大数据拷贝数据原创 2015-08-11 17:45:53 · 5135 阅读 · 1 评论 -
count(*)和Count(1)的区别和执行方式
Count(1)和Count(*)实际上的意思是,评估Count()中的表达式是否为NULL,如果为NULL则不计数,而非NULL则会计数。比如我们看代码1所示,在Count中指定NULL(优化器不允许显式指定NULL,因此需要赋值给变量才能指定)。因此当你指定Count(*) 或者Count(1)或者无论Count(‘anything’)时结果都会一样,因为这些值都不为NULL转载 2012-06-15 11:08:43 · 981 阅读 · 0 评论 -
oralce 动态sql 点位符示例
oracle 动态SQL示例原创 2015-10-29 18:19:44 · 782 阅读 · 0 评论 -
Oracle Merge into(代替Insert/Update在Oracle中的应用)示例
Oracle Merge into(代替Insert/Update在Oracle中的应用)示例原创 2015-08-19 11:18:59 · 1060 阅读 · 0 评论 -
用sql语句快速备份表数据
用sql语句快速备份表数据原创 2015-07-20 18:11:09 · 51670 阅读 · 0 评论 -
Oracle 列转行函数 Listagg()示例
LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX)原创 2015-07-27 15:22:25 · 781 阅读 · 0 评论 -
oracle中单引号和双引号的作用
在Oracle数据库,单引号我们经常会用到,相对来说双引号用的频率少,但双引号的作用也是不可代替的,现简要说一下两者的作用。一.单引号1.单引号用于标识字符与数字的区别; 例如 select * from table_name where id=1;这种代表查询的是数字 select * from table_name where id='1';这种代表查询的是原创 2013-07-15 18:05:30 · 7608 阅读 · 0 评论 -
未能加载文件或程序集“Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342"
未能加载文件或程序集“Oracle.DataAccess, Version=2.112.1.0,一般问题处理原创 2015-07-10 11:38:07 · 27699 阅读 · 0 评论 -
Oracle中 Union-Intersect-Minus的连合操作的使用
union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。 Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;Union All:对两个结果集进行并集操作,包括重复行,不进行排序;Intersect:对两个结果集进行交集操作,不包括重复行,同时进行默认规则的原创 2012-01-07 16:11:27 · 1036 阅读 · 0 评论 -
Oracle 过程参数与列名冲突的bug解决
在嵌入式SQL语句中,Oracle数据库会首先把不规范的标识符当原创 2014-07-30 10:47:17 · 1375 阅读 · 0 评论 -
ORACLE Scheduler特性
所谓出于job而胜于job,说的就是Oracle 10g后的新特性Scheduler啦。在10g环境中,ORACLE建议使用Scheduler替换普通的job,来管理任务的执行。转载 2014-05-26 09:25:26 · 1131 阅读 · 0 评论 -
SQL Like通配符使用
SQL Like通配符使用原创 2017-08-31 17:20:04 · 1007 阅读 · 1 评论 -
替换SQL字段中的换行符,回车符,空格等特殊符号
替换SQL字段中的换行符,回车符,空格等特殊符号原创 2017-05-27 09:45:34 · 8275 阅读 · 0 评论 -
sp_help 快速查看表结构、视图信息
sp_help 快速查看表结构、视图信息原创 2015-07-14 11:08:56 · 32990 阅读 · 2 评论 -
SQLSERVER数据集合的交、并、差集运算(intersect,union,except)
intersect,union,except,sql server 中对集合的交、并、差集运算原创 2015-07-30 09:33:35 · 22285 阅读 · 1 评论 -
SQL Server 分组后取Top N
SQL Server 分组后取Top N,使用Row_Number()函数,取分组前N条记录原创 2016-05-08 21:52:45 · 2173 阅读 · 0 评论 -
Sql递归(用with 实现递归查询)
用with代码段实现递归查询,效率高原创 2016-07-19 14:17:16 · 51339 阅读 · 1 评论 -
sql server日期时间转字符串
sql server日期时间函数介绍转载 2016-07-29 15:52:49 · 665 阅读 · 0 评论 -
SQL2008 sa 登录失败解决方法
SQL2008 sa 登录失败解决方法,sa重置密码原创 2016-09-08 14:27:40 · 6361 阅读 · 1 评论 -
sqlserver字符串拆分(split)方法汇总
sqlserver字符串拆分(split)方法汇总转载 2016-09-27 09:33:29 · 8998 阅读 · 0 评论 -
Sql Server 写入指定自增列的值 IDENTITY_INSERT
利用IDENTITY_INSERT写入自增列的值原创 2016-11-23 17:49:03 · 14211 阅读 · 2 评论 -
Sql执行顺序
要知道sql语句,我想我们有必要知道sqlserver查询分析器怎么执行我么sql语句的,我么很多人会看执行计划,或者用profile来监视和调优查询语句或者存储过程慢的原因,但是如果我们知道查询分析器的执行逻辑顺序,下手的时候就胸有成竹,那么下手是不是有把握点呢?转载 2017-01-10 22:14:49 · 776 阅读 · 0 评论 -
SQL Server 批量删除重复记录(批量、快速、安全)
利用分组排序,实现快速、安全、批量的删除重复记录原创 2017-02-06 15:19:05 · 9877 阅读 · 1 评论 -
SQL Server中的Merge关键字
Merge关键字是一个神奇的DML关键字。它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句。MSDN对于Merge的解释非常的短小精悍:”根据与源表联接的结果,对目标表执行插入、更新或删除操作。例如,根据在另一个表中找到的差异在一个表中插入、更新或删除行,可以对两个表进行同步。”原创 2017-02-13 16:18:33 · 2187 阅读 · 0 评论 -
Oracle生成两个日期间的所有日期
--Select Rownum, (开始日期)+Rownum-1 from dual connect by rownumSelect Rownum, (to_date('2014-03-20','yyyy-mm-dd'))+Rownum-1 from dual connect by rownum*若开始、结束日期为日期格式,则不需要转换原创 2014-03-28 15:10:52 · 3577 阅读 · 0 评论 -
PLSQL Developer导入导出数据库
先写一个正确的方法:导出步骤:1 tools ->export user object 选择选项,导出.sql文件2 tools ->export tables-> Oracle Export 选择选项导出.dmp文件导入步骤:1 tools->import tables->SQL Inserts 导入.sql文件2 tools->import talbes->Oracle转载 2013-11-20 10:14:31 · 11390 阅读 · 0 评论 -
数据库范式概念解析(第一范式,第二范式,第三范式)
大部分数据库从业人员都知道关系数据库有三个基本的范式,即:第一范式,第二范式,第三范式。当然也有牛人知道BC范式,第四范式,第五范式,第六范式,甚至还有个DK范式。本人对数据库的范式概念也是一知半解的,想想有些可笑,搞数据库的竟然不了解关系数据库的基础——范式。这不最近查阅了不少资料,今天把这些东东总结一下。 范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的转载 2012-04-28 10:22:34 · 1898 阅读 · 0 评论 -
关于Union 中 ORA-12704:字符集不匹配问题的解决
在使用Union all连接时,若A集合中某列为nvarchar2或nvarchar类型,而B集合中无此列,用‘ ’ 来代替是会报字符集不匹配,解决方法有两种,见下面的示例例:select '中国','China',cast('中国' as nvarchar2(10)) Tfrom dualunion allselect '美国','USA','' from dual;如上,T的类原创 2012-04-25 16:13:01 · 82329 阅读 · 0 评论 -
Oracle中Job的使用
我们在项目开发中,常常会有一些业务需求定时执行,就要用到job。使用oracle的存储过程,可以大大减少程序代码的编写工作量,而且存储过程执行在数据库上,可以利用oracle的良好性能支持,极大地提高程序执行效率和稳定性。以下是常用的参数说明:字段(列) 类型 描述 JOB NUMBER原创 2012-03-06 15:33:39 · 690 阅读 · 0 评论 -
Truncate 和 Delete 的区别
truncate操作同没有where条件的delete操作十分相似,只是把表里的信息全部删除。主要区别如下:1.无论truncate大表还是小表速度都非常快。delete要产生回滚信息来满足回滚需求,而truncate是不产生的。2.truncate是DDL语句进行隐式提交,不能进行回滚操作。3.truncate重新设定表和索引的HWM(高水标记),由于全表扫描和索引快速扫描都要读原创 2011-12-30 11:09:18 · 761 阅读 · 0 评论 -
Oracle多表连接详解
1. 内连接(自然连接)2. 外连接(1)左外连接 (左边的表不加限制)(2)右外连接(右边的表不加限制)(3)全外连接(左右两表都不加限制)3. 自连接(同一张表内的连接)SQL的标准语法:select table1.column,table2.column from table1 [inner | left | right | full ] join table2转载 2012-01-07 15:06:39 · 1147 阅读 · 0 评论 -
oracle 跳出循环方法
记录exit和return的用法 1.exit用来跳出循环Oracle代码:declare V_KBP varchar2(10);beginloop IF V_KBP IS NULL THEN EXIT; END IF; end loop; dbms_output.put_line('退出'); end;exit跳出原创 2011-12-11 17:49:56 · 17739 阅读 · 0 评论 -
Oracle游标使用全解
这外文档,几乎包括了Oracle使用的方方面面,而且都通过测试 -- 声明游标;CURSOR cursor_name IS select_statement--For 循环游标--(1)定义游标--(2)定义游标变量--(3)使用for循环来使用这个游标declare --类型定义 cursor c_job is select empno,转载 2011-12-08 19:03:39 · 1446 阅读 · 0 评论 -
用sql语句操作表结构
当数据库表结构需要变化的时候,我们一般都通过表的设计视图对作进行修改,其实我们也可以通过sql语句更快速方便的对表结构进行操作,现对常用的修改表结构的语句总结一下--1添加新列 Alter table 表名 add 新增的列 int--数据类型--2删除指定列 Alter table 表名 drop column 列名 --3 修改表字段类原创 2011-12-03 16:37:35 · 1149 阅读 · 0 评论 -
Oracle 查看用户表和表字段信息
1.查看用户所建的表(表名和注释)--查看表名称select * from user_tab_comments where table_name like 'TB_%'; 如果如下: 2.查看表的名称,列名称,字段类型信息select col.COLUMN_NAME as 列名 ,col.NULLABLE as ISNull,col.DATA_TYPE,col.DA原创 2011-11-29 19:01:47 · 1441 阅读 · 0 评论 -
Oracle 序列的使用与说明
1、序列的创建与说明创建序列,Oracle序列的语法格式为:CREATE SEQUENCE 序列名[INCREMENT BY n][START WITH n][{MAXVALUE/ MINVALUE n|NOMAXVALUE}][{CYCLE|NOCYCLE}][{CACHE n|NOCACHE}]; 1)INCREMENT BY用于定义序列的步长,如果省略,则默认原创 2011-11-29 19:20:02 · 4345 阅读 · 0 评论 -
Oracle中RAISE异常详解
由三种方式抛出异常 1. 通过PL/SQL运行时引擎 2. 使用RAISE语句 3. 调用RAISE_APPLICATION_ERROR存储过程 当数据库或PL/SQL在运行时发生错误时,一个异常被PL/SQL运行时引擎自动抛出。异常也可以通过RAISE语句抛出 RAISE exception_name; 显式抛出异常是程转载 2011-11-24 11:37:43 · 704 阅读 · 0 评论 -
快速查看用户包、过程参数信息和Job信息
1.查看oralce包、过程名称、过程参数及类型--查看包、过程及参数、类型SELECT PACKAGE_NAME 包, t.SUBPROGRAM_ID 过程编号, --t.OBJECT_ID 过程ID, t.OBJECT_NAME 过程名, t.SEQUENCE 参数编号, t.D原创 2012-04-19 16:31:34 · 710 阅读 · 0 评论 -
Oracle行转列 简单示例
在开发的过程中,有时候需要将行数据转换为列数据,这种情况可用Decode函数和分组来实现--构造数据集with A as (select '阿诗玛' Name, '语文' Class, '86' Score from dual union all select '阿诗玛', '数学', '95' from dual union all sel原创 2012-04-19 17:28:36 · 1239 阅读 · 0 评论