
技术-数据库
文章平均质量分 58
wei0527
国家认证高级程序员、信息系统项目管理师、系统分析师
专注领域:面向对象、设计模式、系统架构、需求分析、项目管理
展开
-
bcp怎么导出一个表数据为带列名的csv格式文件
--方法一 create view vi_tablename as select c1 as c1--人为的加入一行作为表头 union select c1 from tablename exec master..xp_cmdshell bcp "select c1 FROM abc.dbo.vi_tablename where c1=王五or c1=c1 " queryou原创 2008-06-18 08:50:00 · 7950 阅读 · 0 评论 -
数据库优化-表变量替换游标
如何循环对数据表中的数据按行处理,大家很快会想到游标,不错,游标确实能实现这个功能,学校中教科书也介绍了这个方法。但对于效率,这个方法就不是最好的了。因为游标本身有缺点:游标是存放在内存中,很费内存。游标一建立,就将相关的记录锁住,直到取消游标。游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作。而对于多表和大表中定义的游标(大的数据集合)循环很原创 2008-11-06 10:17:00 · 1630 阅读 · 0 评论 -
sql server 事件探查器 profile
sql server有一个很好的东西:2000中叫事件探查器,2005变成了profile,差不多,都是用于跟踪sql server执行和检测的。筛选的定义要根据你的跟踪目的来定,一般常常会定义的筛选列包括: 1.DatabaseName 同于你要监测的数据库名(不过这个好像不起作用,我的电脑上设置无效) 2.DatabaseID 同于你要检测的数据库原创 2008-12-29 16:53:00 · 1843 阅读 · 0 评论 -
sql server 中uniqueidentifier类型如何转换为十六进制
在sql server数据库的msdb.dbo.sysjobs 表中,job_id字段为uniqueidentifier类型,16字节,每4个字节用-隔开,如何把这个转换为16进制呢?假设有个作业名为11,通过如下语句可以实现:DECLARE @JobID BINARY(16) SELECT @JobID = job_id FROM msdb.dbo.sysjobs原创 2008-12-31 14:47:00 · 1570 阅读 · 0 评论 -
关于SET QUOTED_IDENTIFIER {ON|OFF}的问题
关于SET QUOTED_IDENTIFIER {ON|OFF}的问题 sTopicContent="/r/nSQL SERVER的联机丛书的解释:/r/n“当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SET QUOTED_IDENTIFIER原创 2008-11-21 09:34:00 · 1224 阅读 · 1 评论 -
获取数据库的sql语句
--查询表是否有标识列 select name from syscolumns where id = object_id(tb_city) and autoval is not null查询表字段属性sp_MShelpcolumns Ndbo.cssz, null, id, 1查询表字段约束sp_MStablechecks Ndbo.cssz表主外键信息exe原创 2008-11-21 14:22:00 · 822 阅读 · 0 评论 -
附加数据库出现"所指定的文件不是有效的SQL Server数据库文件"
sql 2000 下,我分离了数据库后,再附加,出现错误提示:所指定的文件不是有效的SQL Server数据库文件查找数据库的mdf文件较小,而ldf文件很大,可能是这个原因而附加不上。后来我附加ldf文件,成功。但在数据库中显示mdf文件很大,而ldf文件很小,是不是两个文件颠倒了呢?原创 2008-12-16 08:45:00 · 9673 阅读 · 0 评论 -
sql server 2005 发布订阅
在做测试时,发现第4步有问题,,发布订阅时如果在快照代理安全性选进程帐户的话,设置这一步会导致错误:快照代理 已以用户 ***/*** 的身份执行。 客户端没有所需的特权。. 该步骤失败。 选择sql代理帐户测试没问题。单机测试不用准备工作,直接测试即可,跨机器必须做准备工作。一、准备工作:1.建立一个 WINDOWS 用户,设置为管理员权限,并设置密码,作为发布快照文件的有效访问用户。原创 2008-12-16 08:50:00 · 2245 阅读 · 2 评论 -
存储过程 DTS包
存储过程执行DTS包set @shellSql = dtsrun /S " + @serverip +" /U " + @user + " /P " + @pwd + " /N "gz_ParseFile_City" /A "type_id":"19"=" + cast(@type_id as varchar) + " /A "file转载 2009-03-02 10:10:00 · 875 阅读 · 0 评论 -
sql like通配符
LIKE确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。然而,可使用字符串的任意片段匹配通配符。与使用 = 和 != 字符串比较运算符相比,使用通配符可使 LIKE 运算符更加灵活。如果任何参数都不属于字符串数据类型,Microsoft® SQL Server™ 会将其转换成字符串数据类型(如果可能)。语法原创 2009-04-17 09:27:00 · 28279 阅读 · 3 评论 -
谈谈对oracle处理DDL和DML语句的事务管理
一、先说问题在开发过程中,遇到了oracle DDL语句和DML语句需要在一个事务中一块处理的情况,该方法要么成功,要么失败。对于这个问题,sql server等数据库是可以解决的,因为其能对DDL语句做回滚,而oracle在执行ddl语句时会先执行commit,所以就不能对原创 2011-08-06 12:46:42 · 3626 阅读 · 0 评论 -
ibatis2.3.4应用的几个问题
1、关于dbcp的配置问题ibatis应用dbcp做数据库连接池时,针对dbcp的配置中,对连接池属性除Pool.MaximumActiveConnections 、Pool.MaximumIdleConnections、Pool.MaximumWait 、Pool.Vali原创 2011-08-09 09:26:24 · 2183 阅读 · 0 评论 -
SQLSERVER内核架构
很多入门级做管理软件的,SQL语句玩的熟练,从子查询到Having到交叉表统计SQL都能做出来,甚至存储过程能写2000多行,游标、自定义函数、触发器、约束用的眼花缭乱。再入点门,在SQL查询器中可以使用SQL分析优化索引,用SQL Profile可以跟踪SQL,甚至在性能查看器中监测SQLSERVER内存、CPU、线程、I/O的运行状态,甚至为自己会使用DBCC而沾沾自喜。你是如转载 2009-04-17 09:44:00 · 1064 阅读 · 0 评论 -
使用聚集索引
聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行的一个查询经常检索某一日期原创 2008-10-24 17:23:00 · 604 阅读 · 0 评论 -
SQL中的临时表和表变量
我们经常使用临时表和表变量,那现在我们就对临时表和表变量进行一下讨论.临时表 局部临时表 全局临时表 表变量 临时表 临时表存储在TempDB数据库中,所有的使用此SQL Server 实例的用户都共享这个TempDB,因为我们应该确保用来存储TempDB数据库的硬盘有足够的空间,以使之能够自己的增长.最好能够存储在一个拥有转载 2008-10-24 14:42:00 · 695 阅读 · 0 评论 -
SQL server服务器大内存配置
以前的服务器,由于内存的价格过高,一般配的内存不是很多,超过4G的当然就不多了.现在的服务器,配置超过4G就很多,在配作SQL 数据库服务器后,很多的人只选默认的设置,虽然可以正常使用,可是却把大量的内存给浪费(SQL服务使用的内存不会超过1.8G),系统的性能也不能因为的大内存而提升,这是很可惜的. 在本文中,我大致讲一下配置的过程.(如果服务器的内存少于4G,不用配置)(网上完全讲这个转载 2008-10-24 14:35:00 · 727 阅读 · 0 评论 -
sql-server 错误7405错误的解决办法(链接服务器查询)
sql-server 错误7405错误的解决办法(链接服务器查询)问题描述:查询语句为“SELECT * FROM [远程服务名].[库名].[dbo].[表名],结果在SQL的查询分析器中正常执行,但把此语句放到存储过程中执行则出现如下错误“异类查询要求为连接设置 ANSI_NULLS 和 ANSI_WARNINGS 选项。这将确保一致的查询语义。请启用这些选项,然后重新发出原创 2008-06-18 09:05:00 · 3128 阅读 · 0 评论 -
联接的操作
联接是多个表的操作仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回 FROM 子句中提到的至少一个表或视图的所有行,只要这些行符合任何 WHERE 或 HAVING 搜索条件。将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。Inner Join原创 2008-06-18 09:11:00 · 556 阅读 · 0 评论 -
SQL Server 2000中,NVARCHAR和VARCHAR区别
在SQL Server 2000中,NVARCHAR和VARCHAR区别是什么? SQL Server提供两种数据类型来存储字符信息。在如何在SQL Server或应用程序中使用方面,这两种数据类型大致是一样的。差别在于nvarchar是用于存储处理数据库图表中多语言数据的Unicode数据。其它语言有一套需要保存的字符代码的扩展集,这种数据类型支持这样的扩展。因为需要存储其它语言的扩展字原创 2008-06-18 09:14:00 · 578 阅读 · 0 评论 -
sql 数字进制转换
二进制转为十进制函数:CREATE FUNCTION Bin2Dec(@StrBin VARCHAR(32))RETURNS INT ---- 只支持最多31位长二进制字符串的解析ASBEGIN DECLARE @DecValue AS INT -- 十进制值 DECLARE @BinLen AS T原创 2008-06-18 09:21:00 · 1064 阅读 · 0 评论 -
sql 关系图
sql server数据库中通过关系图,设定的主外键,来约束各相关表。关系数据库中的各表中数据间关系主要有:一对一关系(SQL Server中的关系图:一头钥匙一头也是钥匙)、一对多关系(SQL Server中的关系图:一头钥匙一头是无穷符号)、多对多关系(SQL Server中的关系图:必须加中间表,转换为一对多的关系。比如AB表是多对多关系,那么加入C表使得AC为一对多,BC为一对多)原创 2008-06-18 09:33:00 · 3520 阅读 · 0 评论 -
SQL Server 2000中,SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY
SQL Server 2000中,有三个比较类似的功能:他们分别是:SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。 IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何原创 2008-06-18 09:00:00 · 1803 阅读 · 1 评论 -
SQL语句,取日期最后一天
在SQL语句中,当where条件中有一日期变量时,我想把年月日中的日改成当月的最后一天,如30,或31,怎么做啊 select * from table1 where work_date > :aDate ; 如 aDate = “2002-05-12” 则,我需要的是把aDate 修改成“2002-05-31”,转载 2008-06-18 09:07:00 · 1696 阅读 · 0 评论 -
编写高效的数据库代码
作为一个.NET开发者,我们经常会发现自己置身于SQL Server查询和存储过程当中,一个很好的例子就是我最近开发的一个ASP.NET应用软件。该软件已经开发完成并交付用户进行测试,这个软件使用了一个先有的SQL Server数据库,大部分T-SQL已经包含在预先定义的存储过程中了(也就是说,我并没有编写它们),当我把软件提交给用户的时候,他们向我抱怨了性能问题。瓶颈源于数据库层,所以我花费转载 2008-06-18 09:09:00 · 663 阅读 · 0 评论 -
几个sql语句
1、查找数据库中用到表tb_blackname的表、存储过程等: select a.text,b.name,b.xtype from dbo.syscomments a,dbo.sysobjects b where a.id=b.id and PATINDEX(%tb_blackname%, a.text)>0 order by xty原创 2008-06-18 09:24:00 · 506 阅读 · 0 评论 -
根据时间段,返回时间段的工作小时数
/* 根据时间段,返回时间段的工作小时数:一天按8小时 */CREATE FUNCTION [dbo].[fc_GetWorkHour] (@startdate smalldatetime,@enddate smalldatetime) RETURNS int AS BEGIN declare @delayday int --暂用工时(日) if(@startdat原创 2008-06-24 11:36:00 · 894 阅读 · 0 评论 -
sql语句的优化分析之一查询语句中左连接和函数效率分析比较
有这样两个表:表a:记录几十条表b:记录几万条现在需要在表a中增加一列,该列来自表b,获取的条件是表a和表b的某一字段值相等。那么该如何做呢?有人可能会想到用左连接,如:select a.*,b.colfrom a left out inner join bon a.colm=b.coln但是这样的结果是什么呢?效率如何?实验发现,效率很差,执行时间很长。。。于原创 2008-06-27 14:02:00 · 2473 阅读 · 0 评论 -
数据表生成sql脚本
create proc SPGenInsertSQL (@tablename varchar(256))asbegin declare @sql varchar(8000) declare @sqlValues varchar(8000) set @sql = ( set @sqlValues = values (+ select @sqlValues = @sqlValu原创 2008-10-18 13:15:00 · 651 阅读 · 0 评论 -
java的UUID类型字段,如何通过jdbc进行数据库的CRUD
关键字:UUID byte[] jdbc mysql java1、UUID/GUID概念UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment,原创 2012-05-27 20:04:38 · 9290 阅读 · 0 评论