数据库相关
david-sui
这个作者很懒,什么都没留下…
展开
-
sql语句中出现笛卡尔乘积
没有join条件导致笛卡尔乘积 学过线性代数的人都知道,笛卡尔乘积通俗的说,就是两个集合中的每一个成员,都与对方集合中的任意一个成员有关联。可以想象,在SQL查询中,如果对两张表join查询而没有join条件时,就会产生笛卡尔乘积。这就是我们的笛卡尔乘积导致的性能问原创 2011-08-29 14:34:41 · 19737 阅读 · 0 评论 -
winform操作访问Oracle 10g数据库,并自动填充到DataGridView
使用oracle的ODP.NET是官方推荐,而且相对简单的方法。官方指导文档:http://www.oracle.com/technetwork/cn/testcontent/o23odp-084525-zhs.html app.config Form1.aspx.csusing System;using Sys原创 2013-08-06 10:25:44 · 3004 阅读 · 0 评论 -
64 位 win7 使用PLSQL Developer
由于 PLSQL Developer 没有64位版本,所以在64位系统上运行该程链接64位Oracle时就会报错,笔者为这个问题纠结了好几天,后来通过请教Google + 动手实践,终于搞定了这个问题。现在把笔者解决的过程记录下来,分享给遇到同样问题的网友们。首先到Oracle官网上下载一个32位的客户端(instantclient),一定要下载 basic 版本的,不要下载 basicl转载 2014-01-25 16:42:41 · 813 阅读 · 0 评论 -
SQL SERVER自带调试工具SQL Server Profiler简单用法
尽管用过sqlserver好几年,但之前还真不知道有这么一个好用的调试工具。 SQL Server Profiler可以跟踪数据库的运行操作,可以筛选要跟踪的数据库。原创 2013-05-17 15:46:00 · 2552 阅读 · 0 评论 -
Oracle11g 三种数据同步方式
DataGurd:主要备库的方式,就是数据库对数据库的备份方式,主要是解决容灾的。流复制:主要是利用ORACLE的归档日志,进行增量备份来实现的,不仅可以配置只复制某些表,还可以配置仅复制某些表上的ddl或dml。可以复制到表,用户,数据库级别。高级复制:主要是基于触发器的原理来触发数据同步的,因此,高级复制无法实现用户,数据库级别的对象复制,只能做些表、索引和存储过程原创 2014-09-12 15:13:02 · 6409 阅读 · 0 评论 -
Oracle用户、授权、角色管理
创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识。掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率。 Oracle数据库的权限系统分为系统权限与对象权限。系统权限( Database System Privilege )可以让用户执行特定的命令集。例如,CREATE TABLE权限允许用户创建表,GRANT转载 2015-03-16 11:13:28 · 1323 阅读 · 0 评论 -
Oracle的pl/sql与sql server的T-sql不一样的几点(常用到的)
1.查询的时候,如果不用 用户名.表名的形式,可能会提示“ORA-00942:表和视图不存在”解决方案:新建同义词多用户协同开发中,可以屏蔽对象的名字及其持有者。如果没有同义词,当操作其他用户的表时,必须通过user名.object名的形式,采用了Oracle同义词之后就可以隐蔽掉user名,当然这里要注意的是:public同义词只是为数据库对象定义了一个公共的别名,其他用户能否原创 2015-03-16 14:16:38 · 617 阅读 · 0 评论 -
Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍
以前最头疼的就是处理表的时候,有主键问题。因为主键不能够重复,所以用函数自定义一个规则生成不重复的值。现在发现oracle有sequence就不用那么麻烦了。转自:http://zhoufoxcn.blog.51cto.com/792419/166418/先假设有这么一个表: create table S_Depart ( D原创 2015-03-31 11:24:44 · 926 阅读 · 0 评论 -
Oracle开发专题之:%TYPE 和 %ROWTYPE(转)
出处:http://www.cnblogs.com/kingjiong/archive/2009/02/19/1393837.html1. 使用%TYPE在许多情况下,PL/SQL变量可以用来存储在数据库表中的数据。在这种情况下,变量应该拥有与表列相同的类型。例如,students表的first_name列的类型为VARCHAR2(20),我们可以按照下述方式声明一个变量:转载 2015-05-26 10:48:30 · 560 阅读 · 0 评论 -
SSIS典型应用场景分析
SSIS典型应用场景分析SSIS 提供一系列支持业务应用程序开发的内置任务、容器、转换和数据适配器,方便我们创建解决方案来解决复杂的业务问题,除了可以管理 SQL Server数据库以及在 SQL Server实例之间复制 SQL Server对象,我们还可以对Oracle、MySql、Excel等不同的异构数据源进行抽取和加载。下面我们将简单的说明一下其典型的应用场景。合并来转载 2013-07-05 10:33:52 · 1080 阅读 · 0 评论 -
sql2000执行sql2005导出的数据脚本时出现“提示含有超过64K限度的行”(转)
问题说明:SQL 2000里,当我们对数据库进行发布订阅时(备份),发布订阅程序会针对大字段类型text、image进行缺省值设置(64K),发布订阅完成后,我们的应用程序数据库包含有text、image字段存储容量被限制到64K,导至不能存储更大的文件或字符,而最终使用应用程序不能使用。解决方法:在查原创 2013-07-02 09:07:44 · 3183 阅读 · 0 评论 -
Windows 环境下配置 Oracle 11gR2 Data Guard 手记
我是在以前从未接触Oracle的情况下来配置Data Guard的。付费下载了一份很详细的data guard 11g在windows下的配置文档(需要的留下邮箱),但是对于一个其中很多参数都得需要根据自己的环境修改,这对我这个新手来说颇有难度。配了整整8天终于初步成功,现把经验及配置过程中可能遇到的问题和大家分享一下。以下介绍均根据配置文档同步说明。 文档2:“在安装 orac原创 2013-04-01 17:44:22 · 1775 阅读 · 6 评论 -
使用SQL查询语句时,数组动态赋值SQL IN ()作为条件条件一个
遇到一个问题,前台传过来一个包含多个id值拼接起来的字符串,例如"23,56,36”作为一个查询条件。 问题出来了。这个字符串中的数字都已经为字符型了,而表中的对应的id列为整形。如果直接用select.....from..where id in('23,56,36')这原创 2011-07-25 14:23:13 · 17144 阅读 · 0 评论 -
使用sql字符串查询关键字CHARINDEX
要想在一堆字符串中找到需要匹配的字符串,最好的方法使用关键字CHARINDEX 。 select * from bbsTopic where charindex(@name,Ttopic)>0 (其中@name为要查询的字符串,Ttopic为包含字符串的列原创 2010-08-09 10:13:00 · 1379 阅读 · 0 评论 -
SQLServer数据库设计表和字段(转)
SQLServer数据库设计表和字段2009/02/18 12:291. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对转载 2011-11-04 10:27:41 · 1488 阅读 · 0 评论 -
sql分类汇总统计,字符串类型的区间数值
疑难点一是要分类统计的区间是一个字符串,例如“0-60” ,还有就是这个分类不是固定分成几类,区间值也不确定常量表param:id param_value paramclass_id1 0-60 112 60-100 113 100-300 11要被统计的表roomid mianji 1 592 403 236原创 2011-10-20 16:34:47 · 4387 阅读 · 0 评论 -
group by对已知的参数进行分类统计
列中有五类参数,分别为“未售”“已售”“大定”“小定”“保留”,要对每类参数包含的数据进行统计关键sql语句:sum(case zhuangtai when '未售' then 1 else 0 end) as 未售 完整sql:select project_name, 'zongshu'=count(*),sum(case zhuangtai when '未售' then 1 e原创 2011-08-11 09:51:54 · 1565 阅读 · 0 评论 -
总结的sql server导数据的几种办法
在日常开发中,经常接触到数据的导出导入。以本机开发数据库部署到服务器数据库上为例作说明。 1.最简单的方式是,把需要导出数据库的.MDF和.LDF文件复制到服务器上,然后再服务器上的sqlserver企业管理器中,采用“附加”数据库的方式完成。但通常服务器有权限限制,你无法像方法一那样操作。2.在服务器上建立一个空数据库,然后用微软提供的SQL Server 数据库发布向导——“D原创 2012-04-26 09:37:45 · 1826 阅读 · 2 评论 -
Data Guard 三种模式解释
Data Guard 保护模式(Data Guard Protection Modes)对于 Data Guard 而言,其生存逻辑非常简单,由于它提供了三种数据保护的模式,我们又亲切的叫它:有三模: 最大保护(Maximum protection):这种模式能够确保绝无数据丢失。要实现这一步当然是有代价的,它要求所有的事务在提交前其 redo 不仅被写入到本地的 online原创 2013-04-02 09:36:10 · 1416 阅读 · 0 评论 -
查看数据库中的字段所在的表中或某值所在的表和字段
***********************************字段在哪个表中select tab.name table_name, col.name column_name from sysobjects tab left join syscolumns col on tab.id = col.id and tab.xtype = 'U' where col.name原创 2013-05-02 18:02:04 · 1207 阅读 · 0 评论 -
SQL SERVER回滚恢复误操作的数据
在生产数据库做CURD操作时,可能会有执行某条语句误操作的情况发生,针对这个种情况有两点建议:1、在SQL SERVER上开启事务确认功能,当执行完语句后确认无误,再提交事务。(开启方法见附件图片)。2、新建存储过程,粘贴附件脚本。此存储过程执行后能够自动产生两个操作日志表,自动记录CRUD的所有操作。适用于提交事务后才发现错误的情况。只需要打开表UPDATE_LOG,粘贴Roll原创 2017-08-04 08:34:08 · 40865 阅读 · 1 评论