SQL SERVER
littlekeen
这个作者很懒,什么都没留下…
展开
-
SQL Server存储过程编写和优化措施
一、适合读者对象:数据库开发程序员,数据库的数据量很多,涉及到对SP(存储过程)的优化的项目开发人员,对数据库有浓厚兴趣的人。 二、介绍:在数据库的开发过程中,经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作。如果项目的SP较多,书写又没有一定的规范,将会影响以后的系统维护困难和大SP逻辑的难以理解,另外如果数据库的数据量大或者项目对SP的性能要求很,转载 2005-09-07 16:32:00 · 813 阅读 · 0 评论 -
学习数据库:严重操作失误
昨天工作太忙了,一天要处理太多的事情,但这个不能成为我工作失误的接口。在编写sql的时候,对条件的一个部分少用了了括弧,导致扩大了执行范围。其实原来是分开两次写的,但是业务提出对这些数据不跟踪,就没有对两者区分开,一时糊涂,差点酿成大祸呀!A&&B&&(C||D) --> A&&B&&C + A&&B&&D原创 2008-01-24 09:59:00 · 574 阅读 · 0 评论 -
学习数据库:SqlServer 2005之查询第m至第n条记录
查询第m至第n条记录的方法1. 常用的top指定查询结果中将只返回第一组行。这组行可以是某一数量的行也可以是某一百分比数量的行select top (n-m+1) * from t1 where pkid not in (select top (m-1) pkid from users order by pkid ) order by pkid 2. ROW_NUMBER()返回结果集分原创 2007-12-14 14:49:00 · 1461 阅读 · 0 评论 -
学习数据库:return和returns的区别
用户定义函数中: 用RETURNS 子句指定该函数返回值的数据类型 RETURN 用于返回具体的值/值变量 RETURN使用广泛,不知道还有没有其他的差异?原创 2007-12-18 10:14:00 · 5624 阅读 · 0 评论 -
学习数据库:查看存储过程
存储过程被创建以后,它的名字存储在系统表sysobjects中;它的源代码存放在系统表syscomments中。可以通过MSSQLServer提供的系统存储过程来查看关于用户创建的存储过程信息。1通过EnterpriseManager管理工具同样可以查看存储过程的源代码其操作如下:(1)启动EnterpriseManager,登录到要使用的服务器。(2)选择要创建存储过程的数据库,在左窗格中单击S原创 2008-03-27 16:47:00 · 4503 阅读 · 0 评论 -
学习数据库:SqlServer 2005之存储过程调试
USE MYDBGODECLARE @return_value int, @t_id intEXEC @return_value = [dbo].[insert_XXX] @t_id = @t_id OUTPUT, @f_id = 10000218SELECT @t_id as N@t_idSELECT Return Value = @return_value原创 2008-01-04 14:51:00 · 842 阅读 · 0 评论 -
学习数据库:SqlServer 2005之数据导出注意事项
导出到excel:单表数据导出时,注意在excel中建立列数和表的列数相同的sheet,不然导出会出现错误导出到另外一个表:启用标识插入(存在自动增量的字段)原创 2008-01-12 13:05:00 · 986 阅读 · 0 评论 -
学习数据库:18456用户登录失败的处理
用windows账号登录成功后,右键实例,在"属性"窗口中, 转到"Security"(安全性)项, 查看"服务器身份验证"中设置确为"SQL Server和Windows身份验证模式", 然后执行下面的语句启用sa用户, 同时更改sa的密码EXEC sp_password sa,null,saALTER LOGIN sa ENABLE结果执行出错:消息 15116,级别 16,状态原创 2008-01-18 13:58:00 · 7425 阅读 · 2 评论 -
学习SQLServer: 设置QUOTED_IDENTIFIER
使用系统向导一般自动带入这些设置语句语法 SET QUOTED_IDENTIFIER { ON | OFF }1使 SQL Server 遵从关于引号分隔标识符和文字字符串的 ISO 规则。2 当 SET QUOTED_IDENTIFIER 为 ON (默认)时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号原创 2008-12-23 15:08:00 · 1548 阅读 · 0 评论 -
学习数据库:SqlServer 2005之数据库转换
SQL Server 2000是不能访问到2005的数据库的,必须转换一下才行。 2005转到2000的步骤步骤 1. 生成for 2000版本的数据库脚本 2005 的manger studio -- 打开"对象资源管理器"(没有的话按F8),连接到实例 -- 右键要转到2000的库 -- 任务 -- 生原创 2007-10-18 09:45:00 · 2196 阅读 · 2 评论 -
学习数据库:SqlServer 2005之注册网络服务器
打开目录,找到SQL Server Management Studio ,使用过VisualStudio的看起来会觉得很舒服.SQL Server Management Studio 结合了SQL Server 2000的企业管理器和查询分析器的功能(个人觉得).如果是本地实例,就直接创建或者导入,我的需要链接数据库服务器,就需要注册一下啦。本机实例右键--“注册”输入名称和说明,保存。原创 2007-10-17 15:13:00 · 2957 阅读 · 0 评论 -
学习数据库:SqlServer 2005之安装
首先声明,单位的SQL Server2005是正版的,我的机器是winServer2003 SE :-) SQL Server x86 文件夹下servers目录里面,找到setup.exe。点击即可。安装过程和sql2000没什么大的差别。安装完毕,应该再打个补丁,我选择的是SQLServer2005SP2-KB921896-x86-CHS.exe (297M)。如果是后期安装补丁,原创 2007-10-17 14:35:00 · 3066 阅读 · 0 评论 -
查找出关联数据库中所有包含某个字段的表的表名
select name from sysobjects where type=u and id in(select id from syscolumns where name=ProductNo)原创 2005-09-16 12:44:00 · 3244 阅读 · 0 评论 -
Varchar与char的区别
Varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格原创 2005-09-14 12:00:00 · 975 阅读 · 0 评论 -
using COALESCE() 分组结果显示成一条记录
1 将分组结果显示成一条记录,并且加入分隔符 “,”CREATE PROCEDURE dbo.RestaurantInfo_KindCountASBEGIN TRANdeclare @Counts intdeclare @ArraryCount Nvarchar(100)declare @ArraryID Nvarchar(100) select @A原创 2005-10-17 15:44:00 · 1162 阅读 · 0 评论 -
collate chinese_prc_ci_as null 是什么意思
我们在create table时经常会碰到这样的语句,例如:CityName nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面: 首先,collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。 语法是collate collation_name col翻译 2006-08-02 15:21:00 · 7111 阅读 · 4 评论 -
一个简单的酒店系统的数据库设计
以前学习SQL SERVER时的课程设计,下午整理资料时无意中居然找到,虽然都好几年了,但发现用来学习SQL SERVER还是不错的。 现在都用PowerDesigner了,以前这些代码可都是一行一行敲出来的,只是没有加字段说明,不记得当初有没有数据库设计说明文档。----------------------------开始----------------------------原创 2007-03-29 18:05:00 · 15286 阅读 · 48 评论 -
学习数据库:如何优化SQL Server数据库查询
优化SQL Server数据库 查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7翻译 2007-08-15 16:40:00 · 6849 阅读 · 10 评论 -
好好学习:Excel中如何行列转置
今天在处理数据的过程中,出现要将excel中sheet一列内容变成表头,结果一番收拾,好不容易拿下。 1、Excel打开工作簿,选中sheet需要进行行列转换的列,我的有75行。 2、单击“复制”。 3、找到要存放转置表区域的左上角单元格,选取75列。 4、“编辑”--“选择性粘贴”--“选择性粘贴”,选中“转置”复选框。如果是直接的单行单列倒置,可以不做单元格个数对应原创 2007-09-05 21:51:00 · 10498 阅读 · 1 评论 -
学习数据库:SqlServer 2005之基本使用
1 查询分析器集成在2005的manger studio 中-->SQL Server Management Studio -->New Query 中文的:Microsoft SQL Server Management Studio-->新建查询2 存储过程可编程性-过程,其它如函数、触发器、规则等等都在这里面 学习SQLSer原创 2007-10-19 14:30:00 · 3390 阅读 · 0 评论 -
学习SQLServer: 设置SET ANSI_NULLS
指定与空值一起使用时的等于 (=) 和不等于 (当 SET ANSI_NULLS 为 ON 时,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的 SELECT 语句仍返回零行。 即使 column_name 中包含非空值,使用 WHERE column_name NULL 的 SELECT 语句仍会返回零行。当 SET ANSI_翻译 2008-12-23 15:27:00 · 1006 阅读 · 0 评论