摘要:
数据分页是Web应用程序开发中经常使用的一种技术,也是提高Web数据访问性能的主要手段。本文结合ASP.NET,详细给出了两种ASP.NET海量分页数据存储的技术。存储过程1CREATEPROCEDUREpagination @tblNamevarchar(255),--表名 @strGetFieldsvarchar(1000)='*',--需要返回的列 @fldNamevarchar(255)='',--排序的字段名 @PageSizeint,--页尺寸 @PageIndexint,--页码 @doCountbit,--返回记录总数,非0值则返回 @Order 阅读全文
摘要:
定义和用法DATEDIFF() 函数返回两个日期之间的天数。语法DATEDIFF(datepart,startdate,enddate)startdate 和 enddate 参数是合法的日期表达式。datepart 参数可以是下列的值:datepart缩写年yy, yyyy季度qq, q月mm, m年中的日dy, y日dd, d周wk, ww星期dw, w小时hh分钟mi, n秒ss, s毫秒ms微妙mcs纳秒ns实例例子 1使用如下 SELECT 语句:SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS Dif 阅读全文
摘要:
通常我们在设计表的时候,会加一个排序字段,为的是方便数据的排序,比如上移、下移。如果在给数据表插入数据的时候,想要使这个字段的默认值跟数据库的主键(主键是自增长)一致的话,该怎么弄呢?先插入,然后取出刚刚插入的数据的主键,然后对这行数据更新,将排序的值更新为主键的值?理论上这样做也能实现,但是如果并发量大的情况这样做就不划算了。这时候我们可以用到一个sql的函数ident_current,如下:INSERT INTO tab (c1,c2,c3) values ('aa','bb',ident_current('tab')) 这个sql 命令是对 阅读全文
摘要:
一、使用EXEC执行存储过程例如存储过名为:myprocedureuseAdventureWorkscreateproceduremyprocedure@cityvarchar(20)asbeginselect*fromPerson.Addressendexecmyprocedure@city='Bothell'--或execmyprocedure'Bothell'二、使用EXEC执行动态的SQL语句注意:动态的sql必须包含于圆括号内如:exec('select*frommytable')使用EXEC执行动态sql语句注意下面问题1.不能有输入 阅读全文
摘要:
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 阅读全文
摘要:
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 阅读全文
摘要:
我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,存储过程动不动就是上千行,如果数据量大,人员流动大,那么我么还能保证下一段时间系统还能流畅的运行吗?那么还能保证下一个人能看懂我么的存储过程吗?那么我结合公司平时的培训和平时个人工作经验和大家分享一下,希望对大家有帮助。要知道sql语句,我想我们有必要知道sqlserver查询分析器怎么执行我么sql语句的,我么很多人会看执行计划,或者用profile来监视和调优查询语句或者存储过程慢的原因,但是如果我们知道查询分析器的执行逻辑顺序,下手的时候就胸有成竹,那么下手是不是有把握点呢?一:查询的逻辑执行顺 阅读全文
摘要:
引言我们先不讲游标的什么概念,步骤及语法,先来看一个例子: 表一 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的工资字段。对于一些不熟悉游标的程序员来说, 阅读全文
摘要:
ASP与存储过程(Stored Procedures)的文章不少,但是我怀疑作者们是否真正实践过。我在初学时查阅过大量相关资料,发现其中提供的很多方法实际操作起来并不是那么回事。对于简单的应用,这些资料也许是有帮助的,但仅限于此,因为它们根本就是千篇一律,互相抄袭,稍微复杂点的应用,就全都语焉不详了。 现在,我基本上通过调用存储过程访问SQL Server,以下的文字都是实践的总结,希望对大家能有帮助。 存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。 定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过这组语句是放在数据库中的(这里我们只谈... 阅读全文
摘要:
使用 @@ERROR如果最后的 Transact-SQL 语句执行成功,则 @@ERROR 系统函数返回 0;如果此语句产生错误,则 @@ERROR 返回错误号。每一个 Transact-SQL 语句完成时,@@ERROR 的值都会改变。因为每个 Transact-SQL 语句执行完毕时,@@ERROR 都会得到一个新的值,@@ERROR 可用以下两种方法处理:在 Transact-SQL 语句后,马上检测或使用 @@ERROR。在 Transact-SQL 语句完成后,马上把 @@ERROR 存储到一个整型变量中。此变量的值可供以后使用。在生成错误的批处理、存储过程或触发器中,@@ERROR 阅读全文