随笔分类 -  数据库

摘要:在操作数据库中,我们难免会遇到导入和导出数据库中的数据问题,但有时用SQL语句操作时,就会报各种错误,比如下面这种错误。错误各种找啊,最终解决,现总结原因如下:1.未开启Ad Hoc Distributed Queries 服务: 开启方式和关闭方式如下: 1 --启用Ad Hoc Distr... 阅读全文
posted @ 2016-01-22 10:18 山清石玉 阅读(632) 评论(0) 推荐(0)
摘要:create function [dbo].[f_getpy_V4]( @col varchar(1000))returns varchar(1000) begin declare @cyc int,@len int,@sql varchar(1000),@char varbinary(20) se... 阅读全文
posted @ 2014-07-25 09:33 山清石玉 阅读(544) 评论(0) 推荐(1)
摘要:问题:sql 2000 无法连接远程数据库 sqlserver不存在或访问被拒绝telnet 127.0.0.1 1433 提示:不能打开到主机的连接,在端口1433:连接失败解决方案:登录远程SQL服务器一看ping 服务器IP能否ping通。这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。二在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。如telnet 202.114.100.100 1433通常端口值是1433,因为1433是sql serv.. 阅读全文
posted @ 2013-06-20 14:39 山清石玉 阅读(4361) 评论(0) 推荐(0)
摘要:关系型数据库是现在广泛应用的数据库类型,对关系型数据库的设计就是对数据进行组织化和结构化的过程。对于小规模的数据库我们处理起来还是比较轻松地,但是随着数据库规模的扩大我们将发现用户操控数据库的SQL语句将变得笨拙、复杂。更糟糕的是很有可能导致数据不完整,不准确。所以我们有必要将数据设计的更加符合规范。怎样使我们的数据库更加规范呢,前人总结了三个范式(其实一共有五个,但是一般的数据库只需满足三个就已经很高效了。)主要内容:注意:斜体字部分为逻辑性语言,不容易理解,但很准确;粗体字部分为通俗语言,容易理解,但有失准确。l 第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由 阅读全文
posted @ 2013-05-15 11:44 山清石玉 阅读(198) 评论(0) 推荐(0)
摘要:安装sql server 2008 R2,提示错误:Sql2005SsmsExpressFacet 检查是否安装了 SQL Server 2005 Express 工具。 失败,已安装 SQL Server 2005 Express 工具。若要继续,请删除 SQL Server 2005 Express 工具。为什么会有这样的提示?答案是SQL Server 2005 Express 工具不是sql server 2005 management,不用卸载sql server 2005 management,用一个小技巧就行:修改注册表!HKEYLocalMachine/Software/Mic 阅读全文
posted @ 2013-04-19 12:34 山清石玉 阅读(235) 评论(0) 推荐(0)
摘要:ACCESS中用IIf(iss_name_e= '', iss_cd, iss_name_e)这样的表达式并不能达到预期的效果,判断字符串是否为空要用ISNULL例:IIf(ISNULL(iss_name_e),iss_cd,iss_name_e) 阅读全文
posted @ 2013-01-11 22:35 山清石玉 阅读(1293) 评论(0) 推荐(0)
摘要:decimal 数据类型最多可存储 38 个数字,所有数字都能够放到小数点的右边。decimal 数据类型存储了一个准确(精确)的数字表达法;不存储值的近似值。定义 decimal 的列、变量和参数的两种特性如下:· p 小数点左边和右边数字之和,不包括小数点。如 123.45,则 p=5,s=2。指定精度或对象能够控制的数字个数。· s指定可放到小数点右边的小数位数或数字个数。p 和 s 必须遵守以下规则:0 <= s <= p <= 38。numeric 和 decimal 数据类型的默认最大精度值是 38。在 Transact-SQL 中,numer 阅读全文
posted @ 2013-01-08 13:40 山清石玉 阅读(35073) 评论(2) 推荐(2)
摘要:方案一: --清空日志 DUMP TRANSACTION tjjs2002 WITH NO_LOG -- 截断事务日志 BACKUP LOG tjjs2002 WITH NO_LOG -- 收缩数据库 DBCC SHRINKDATABASE(tjjs2002) 也可以用 收缩数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最... 阅读全文
posted @ 2013-01-05 15:23 山清石玉 阅读(235) 评论(0) 推荐(0)
摘要:declare @s varchar(500),@sql varchar(4000)select @s=isnull(@s+',','')+name from sys.columns where object_id = object_id('表名','U') and name !='字段名' 阅读全文
posted @ 2012-12-21 15:57 山清石玉 阅读(388) 评论(0) 推荐(0)
摘要:按照,或者特定的字符进行分割,把值取出来,举个例子,数据是:a,b,cd,e,f显示结果是:abcdef解决方法:拆分表:ifnotobject_id('Tab')isnulldroptableTab Go CreatetableTab([Col1]int,[COl2]nvarchar(5)) InsertTab select1,N'a,b,c'unionallselect2,N'd,e'unionallselect3,N'f'Go --SQL2000用辅助表: ifobject_id('Tempdb..#Num' 阅读全文
posted @ 2012-12-21 15:26 山清石玉 阅读(279) 评论(0) 推荐(0)
摘要:create function dbo.getsexBysfzh(@s varchar(18)) returns VARCHAR(10)as begin return( case (case len(@s) when 15 then substring(@s,15,1) --这里是最后一位 when 18 then substring(@s,17,1) --这里是倒数第二 end)%2 when 1 then 0 else 1 --返回1是男,0是女 end )endgo 阅读全文
posted @ 2012-07-19 09:04 山清石玉 阅读(331) 评论(0) 推荐(0)
摘要:-- =============================================-- Description:<判断身份证号是否合法,返回结果对应如下:>-- -2:含有非法字符-- -1:位数不正确(不为15或18位)-- 0:位数正确,但证号不合法-- 1:位数正确,且证号合法-- =============================================createFUNCTION [dbo].[f_checksfzh](@ID varchar(30)--要校验的证号)RETURNS intASBEGIN DECLARE @ID15 varch 阅读全文
posted @ 2012-07-11 10:01 山清石玉 阅读(1523) 评论(0) 推荐(0)
摘要:CREATE function [dbo].[fsplit](@SourceSql varchar(8000),@StrSeprate varchar(10))returns @temp table(a varchar(100))--实现split功能 的函数as begindeclare @i intset @SourceSql=rtrim(ltrim(@SourceSql))set @i=charindex(@StrSeprate,@SourceSql)while @i>=1begininsert @temp values(left(@SourceSql,@i-1))set @Sou 阅读全文
posted @ 2012-03-29 17:18 山清石玉 阅读(720) 评论(0) 推荐(0)
摘要:有时候,在数据库中需要显示主表信息另加对应字表部分字段信息,且子表字段信息需用特定字符拼接起来显示,在这种情况下,可这样实现,以下为","实例:create FUNCTION [dbo].[f_Getxx](@sID varchar(50))RETURNS nvarchar(4000)ASBEGINdeclare @sText nvarchar(4000) SELECT @sText=isnull(@sText+',','')+字段+',' FROMA,B WHERE 条件 return isnull(substring(@s 阅读全文
posted @ 2012-03-29 17:03 山清石玉 阅读(2085) 评论(0) 推荐(1)
摘要:微软从SQl2005起引入了CTE(Common Table Expression)以强化T-SQL。这是一个类似于非持久视图的好东东。cte语法:[WITH<CTE_definition>[,...n]] <SELECT,INSERT,UPDATE,orDELETEstatementthat callstheCTEs> <CTE_definition>::= CTE_name[(column_name[,...n])] AS ( CTE_query )按照MSDN介绍1、公用表表达式 (CTE) 可以认为是在单个 SELECT、INSERT、UPDATE、 阅读全文
posted @ 2012-03-25 15:03 山清石玉 阅读(644) 评论(0) 推荐(0)