随笔分类 -  SQL SERVER

摘要:SQL code--下面的代码生成长度为8的编号,编号以BH开头,其余6位为流水号。--得到新编号的函数CREATE FUNCTION f_NextBH()RETURNS char(8)ASBEGIN RETURN(SELECT 'BH'+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) FROM tb WITH(XLOCK,PAGLOCK))ENDGO--在表中应用函数CREATE TABLE tb(BH char(8) PRIMARY KEY DEFAULT dbo.f_NextBH(),col int)--插入资料BEGIN TRAN 阅读全文
posted @ 2011-04-29 16:15 Jones.Zhao 阅读(862) 评论(0) 推荐(0)
摘要:setANSI_NULLSONsetQUOTED_IDENTIFIERONgo--=============================================--Description:分割字符串--=============================================CREATEfunction[dbo].[split](@SourceSqlvarchar(8000),@StrSepratevarchar(10))returns@temptable(F1varchar(400),sequenceint)asbegindeclare@iintdeclare@s 阅读全文
posted @ 2011-04-09 11:26 Jones.Zhao 阅读(161) 评论(0) 推荐(0)
摘要:ALTERPROCEDURE[dbo].[PublishYearly_Delete]@in_YearlyIDVARCHAR(500)ASBEGINUPDATEPublishYearlySETStatus=2WHERECHARINDEX(','+CAST(YearlyIDASVARCHAR(100))+',',@in_YearlyID)>0ENDALTERPROCEDURE[dbo].[PublishYearly_GetList]@request_page_numINT,--基于0的,如第一页@page_size=0@page_sizeINT,@YearIN 阅读全文
posted @ 2011-04-02 16:06 Jones.Zhao 阅读(996) 评论(0) 推荐(0)
摘要:ParameterDirection.ReturnValue 和ParameterDirection.OutPut返回值的区别? Output 参数是输出参数。 ReturnValue 参数表示诸如存储过程、内置函数或用户定义函数之类的操作的返回值。 示例如下:create proc 名称 @out int out as begin set @out = 100; return 200; end 这个out就是output参数 返回的200是returnvalue, output参数可能有多个,return value只有一个总结:Output、ReturnValue都可以返回存储过程处理过的 阅读全文
posted @ 2011-02-10 11:20 Jones.Zhao 阅读(948) 评论(0) 推荐(0)
摘要:对SQL Server 2005应用TRY...CATCH回传事务 导言: SQL Server 2005相比以前的老版本提供了一些新的特性.本文我们将注意力集中在SQL Server 2005所支持的TRY...CATCH模块.它是现代语言处理异常的标准方法,包括: .一个TRY模块—该模块用来包含可能引发异常的指令.一个CATCH模块—如果在TRY模块发生异常的话,程序控制将转到CATCH模块处理异常. 关于exception handling的概念以及TRY...CATCH构造器的更多信息请参阅文章《Exception Handling》 在SQL Server 2005之前,要检查返回 阅读全文
posted @ 2011-01-11 16:52 Jones.Zhao 阅读(627) 评论(0) 推荐(0)
摘要:已前写SQL语句的时候一直是手写的。最近看到同事写SQL时有提示,于是我就google一下,找了个SQL智能提示工具。真是的满好的。SQL 2008默认就有了智能提示,可是我用的SQL 2005所以没办法就去网上找了Sql Prompt 3.9因为这个是收费软件,所以得破解正版下载下载地址:http://downloads.red-gate.com/SQLToolbelt.exe。破解文件下载破解版(1.56m)。先安装正版 把破解版所有文件覆盖到正式版的安装目录。在点击“RedGate.SQLPrompt.reg”进行软件注册。到此破解工作已经全部完成。然后打开MSSQL2005可以使用了。 阅读全文
posted @ 2011-01-04 15:46 Jones.Zhao 阅读(983) 评论(0) 推荐(0)
摘要:首先创建一个表:添加3条记录:1、执行:Select*, Row_Number()over(orderbyPosition)asSortFromOverTest结果:这就是over的作用,没问题。2、再执行:SelectID, Position+datediff(day, PDate,getdate())asPosition,PDate, Row_Number()over(orderbyPosition)asSortFromOverTest通过PDate日期的距当前日期的天数累加Postition的新值,进行over操作:看这个结果,排序是错误的,对照前一个结果,数值不一样,顺序似乎是一样的! 阅读全文
posted @ 2010-12-14 16:24 Jones.Zhao 阅读(727) 评论(0) 推荐(0)
摘要:由于设计需要,需要查询不重复的记录值,同类问题,想必大家都遇到过,于是乎马上GOOGLE一下,发现此类问题还挺多,解决方案也不少,仔细看看。例如有如下表结构和值tablefidnamesex1a男2b男3c女4d女5a男6b男方案一:distinctselect distinct name from table得到结果:nameabcd实现效果,那如果要同时打开其它记录呢?再试试select distinct name,id from table测试没什么效果,查下得知,这样实际是要name和id字段都重复才被筛选。继续查找可得如下方法:方案二:group byselect *, count( 阅读全文
posted @ 2010-12-14 10:18 Jones.Zhao 阅读(933) 评论(2) 推荐(0)
摘要:最近在做项目时,遇到一个问题,同组的一位大哥,帮我解决了,先谢谢他。我写此文章来给大家参考. 直接来看示例,先给出两张表。 表A: 表B: 这是两张表。我们用表B里的两个字段来查表A的记录先看一下SQL 语句:[代码]上面是代码和结果,我用了两个IN 中间用AND来查结果,本来的意思是想取结果中的第一条记录,没想到全取出来了这样结果就不是我们想要的了,其实想一下,也能明白,IN里要满足条件都可以,注意再看一下查出来的结果,都满足条件,本来表A中的第一条和最后一条为空的都没查出来。如果你是想取这样的结果,那也可以了,可是如果是只想取第一条呢。怎么办。请看结果:上面是用EXISTS来做查询的,这 阅读全文
posted @ 2010-12-11 15:00 Jones.Zhao 阅读(776) 评论(0) 推荐(0)
摘要:1.理论只要两个表的公共字段有匹配值,就将这两个表中的记录组合起来。个人理解:以一个共同的字段求两个表中符合要求的交集,并将每个表符合要求的记录以共同的字段为牵引合并起来。语法select * FROM table1 INNER JOIN table2 ON table1 . field1 compopr table2 . field2INNER JOIN 操作包含以下部分:部分说明table1, table2要组合其中的记录的表的名称。field1,field2要联接的字段的名称。如果它们不是数字,则这些字段的数据类型必须相同,并且包含同类数据,但是,它们不必具有相同的名称。compopr任 阅读全文
posted @ 2010-12-07 22:23 Jones.Zhao 阅读(296) 评论(0) 推荐(0)
摘要:数据类型 类型 描 述 bit 整型 bit 数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Off int 整型 int 数据类型可以存储从- 231(-2147483648)到231 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个... 阅读全文
posted @ 2010-07-09 00:11 Jones.Zhao 阅读(153) 评论(0) 推荐(0)
摘要:1.数据库表及字段命名、设计规范1.1数据库表数据库表的命名规范:表的前缀应该用系统或模块的英文名的缩写(全部大写或首字母大写)。如果系统功能简单,没有划分为模块,则可以以系统英文名称的缩写作为前缀,否则以各模块的英文名称缩写作为前缀。例如:如果有一个模块叫做BBS(缩写为BBS),那么你的数据库中的所有对象的名称都要加上这个前缀:BBS_ + 数据库对象名称,BBS_CustomerInfo标示... 阅读全文
posted @ 2010-05-21 00:22 Jones.Zhao 阅读(827) 评论(0) 推荐(0)