摘要: 通常我们在设计表的时候,会加一个排序字段,为的是方便数据的排序,比如上移、下移。如果在给数据表插入数据的时候,想要使这个字段的默认值跟数据库的主键(主键是自增长)一致的话,该怎么弄呢?先插入,然后取出刚刚插入的数据的主键,然后对这行数据更新,将排序的值更新为主键的值?理论上这样做也能实现,但是如果并发量大的情况这样做就不划算了。这时候我们可以用到一个sql的函数ident_current,如下:INSERT INTO tab (c1,c2,c3) values ('aa','bb',ident_current('tab')) 这个sql 命令是对 阅读全文
posted @ 2011-09-13 16:36 易尔购 阅读(6414) 评论(1) 推荐(3) 编辑
摘要: 一、使用EXEC执行存储过程例如存储过名为:myprocedureuseAdventureWorkscreateproceduremyprocedure@cityvarchar(20)asbeginselect*fromPerson.Addressendexecmyprocedure@city='Bothell'--或execmyprocedure'Bothell'二、使用EXEC执行动态的SQL语句注意:动态的sql必须包含于圆括号内如:exec('select*frommytable')使用EXEC执行动态sql语句注意下面问题1.不能有输入 阅读全文
posted @ 2011-09-13 16:24 易尔购 阅读(35888) 评论(0) 推荐(2) 编辑
摘要: GOTO命令用来改变程序执行的流程,使程序跳到标识符指定的程序行再继续往下执行。语法:GOTO 标识符标识符需要在其名称后加上一个冒号“:”。例如:“33:”,“loving:。SQL语句如下:DECLARE @X INTSELECT @X=1loving:PRINT @XSELECT @X=@X+1WHILE @X<=3 GOTO loving本篇文章来源于 “phphtm教程” 转载请以链接形式注明出处 网址:http://www.phphtm.com/2011/0129/2OMDAwMDAwMzg2OA.html 阅读全文
posted @ 2011-09-13 15:50 易尔购 阅读(10167) 评论(0) 推荐(0) 编辑
摘要: SET NOCOUNT 使返回的结果中不包含有关受Transact-SQL 语句影响的行数的信息。语法:SET NOCOUNT { ON | OFF }注释:当SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当SET NOCOUNT 为OFF 时,返回计数。即使当SET NOCOUNT 为 ON 时,也更新@@ROWCOUNT 函数。当SET NOCOUNT 为ON 时,将不给客户端发送存储过程中的每个语句的DONE_IN_PROC 信息。当使用Microsoft SQL Server 提供的实用工具执行查询时,在Transact-SQL 阅读全文
posted @ 2011-09-13 15:40 易尔购 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,存储过程动不动就是上千行,如果数据量大,人员流动大,那么我么还能保证下一段时间系统还能流畅的运行吗?那么还能保证下一个人能看懂我么的存储过程吗?那么我结合公司平时的培训和平时个人工作经验和大家分享一下,希望对大家有帮助。要知道sql语句,我想我们有必要知道sqlserver查询分析器怎么执行我么sql语句的,我么很多人会看执行计划,或者用profile来监视和调优查询语句或者存储过程慢的原因,但是如果我们知道查询分析器的执行逻辑顺序,下手的时候就胸有成竹,那么下手是不是有把握点呢?一:查询的逻辑执行顺 阅读全文
posted @ 2011-09-13 14:21 易尔购 阅读(312) 评论(1) 推荐(1) 编辑
摘要: 引言我们先不讲游标的什么概念,步骤及语法,先来看一个例子: 表一 OriginSalary 表二 AddSalary现在有2张表,一张是OriginSalary表--工资表,有三个字段0_ID 员工号(NVARCHAR)、O_Name员工姓名(NVARCHAR)、O_Salary工资(FLOAT)。另一张表AddSalary表—加薪表。有2个字段,O_ID员工号、A_Salary增加工资。两张表的O_ID是一一对应的,现在求将加薪的工资+原来的工资=现在的工资,也就是O_Salary=O_Salary+A_Salary,修改表OriginSalary的工资字段。对于一些不熟悉游标的程序员来说, 阅读全文
posted @ 2011-09-13 13:58 易尔购 阅读(299) 评论(0) 推荐(0) 编辑
摘要: ASP与存储过程(Stored Procedures)的文章不少,但是我怀疑作者们是否真正实践过。我在初学时查阅过大量相关资料,发现其中提供的很多方法实际操作起来并不是那么回事。对于简单的应用,这些资料也许是有帮助的,但仅限于此,因为它们根本就是千篇一律,互相抄袭,稍微复杂点的应用,就全都语焉不详了。 现在,我基本上通过调用存储过程访问SQL Server,以下的文字都是实践的总结,希望对大家能有帮助。 存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。 定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过这组语句是放在数据库中的(这里我们只谈... 阅读全文
posted @ 2011-09-13 12:00 易尔购 阅读(660) 评论(0) 推荐(0) 编辑
摘要: 使用 @@ERROR如果最后的 Transact-SQL 语句执行成功,则 @@ERROR 系统函数返回 0;如果此语句产生错误,则 @@ERROR 返回错误号。每一个 Transact-SQL 语句完成时,@@ERROR 的值都会改变。因为每个 Transact-SQL 语句执行完毕时,@@ERROR 都会得到一个新的值,@@ERROR 可用以下两种方法处理:在 Transact-SQL 语句后,马上检测或使用 @@ERROR。在 Transact-SQL 语句完成后,马上把 @@ERROR 存储到一个整型变量中。此变量的值可供以后使用。在生成错误的批处理、存储过程或触发器中,@@ERROR 阅读全文
posted @ 2011-09-13 11:41 易尔购 阅读(8652) 评论(0) 推荐(1) 编辑
摘要: ISNULL使用指定的替换值替换 NULL。语法ISNULL ( check_expression , replacement_value )参数 check_expression 将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。 replacement_value 在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。 返回类型 返回与 check_expression 相同的类型。注释 如果 check_expression 不为 NULL,那 阅读全文
posted @ 2011-09-13 11:30 易尔购 阅读(2072) 评论(0) 推荐(0) 编辑
摘要: ASP.NET的输出缓存(即静态HTML)在.NET4.0前一直是基于内存的。这意味着如果我们的站点含有大量的缓存,则很容易消耗掉本机内存。现在,借助于.NET4.0中的OutputCacheProvider,我们可以有多种选择创建自己的缓存。如,我们可以把HTML输出缓存存储到memcached分布式集群服务器,或者MongoDB中(一种常用的面向文档数据库,不妨阅读本篇http://msdn.microsoft.com/zh-cn/magazine/gg650661.aspx)。当然,我们也可以把缓存作为文件存储到硬盘上,考虑到可扩展性,这是一种最廉价的做法,本文就是介绍如果构建自定义文件 阅读全文
posted @ 2011-09-13 11:21 易尔购 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 想当初在只使用WebForms框架并以服务端为中心的开发模式时,发现ASP.NET好复杂。一大堆服务端控件,各有各的使用方法,有些控件的事件也很重要,必须在合适地时机去响应,还真有些复杂。后来逐渐发现这些复杂的根源其实就是服务器控件相关的抽象逻辑。随着Ajax越用越多,可能有些人也做过这些事情:【新建一个ashx文件,读取一些用户的输入数据,Form, QueryString,然后调用业务逻辑代码,将处理后的结果序列化成JSON字符串再发给客户端】,这样也能完成一次请求。不知大家有没有做过这类事情,反正我是做过的。慢慢地,我也嫌烦了,这些事情中除了调用业务逻辑部分,都是些体力活嘛。于是想,写点 阅读全文
posted @ 2011-09-13 11:16 易尔购 阅读(268) 评论(0) 推荐(0) 编辑
摘要: .NET Framework 类库String.IsNullOrEmpty 方法注意:此方法在 .NET Framework 2.0 版中是新增的。指示指定的 String 对象是 空引用(在 Visual Basic 中为 Nothing) 还是 Empty 字符串。命名空间:System程序集:mscorlib(在 mscorlib.dll 中)语法C#public static bool IsNullOrEmpty( string value )参数value 一个 String 引用。返回值 如果 value 参数为 空引用(在 Visual Basic 中为 Nothing) 或空字 阅读全文
posted @ 2011-09-13 10:02 易尔购 阅读(248) 评论(0) 推荐(0) 编辑