浏览模式: 普通 | 列表
使用SQL存储过程要特别注意的问题-注意顺序读取
作者:未知
日期:2005-05-19
人气:243
投稿:(转贴)
来源:未知
字体:大 中 小
收藏:加入浏览器收藏
   
 
以下正文: 6月特价限量服务器499元/月,香港服务器688元/月,150M+COM域名+100M企邮=288元
        存储过程是一个运行于SQL数据库之中最核心的事务,它通过长驻内存的形式,进行读取\处理\写入最为频繁处理的数据.
        ASP虽然在微软的ASPX的侵袭下,仍旧是中小企业继续在用的一种网页语言,但是当要读取海量数据的时候,如果仍旧使用普通的SQL进行读取运行与写入,将导致系统资源的严重浪费,所以我们在ASP中使用存储过程,以提高数据的存取速度,同时通过SQL核心的获取数据的方法,可以有效的减少垃圾数据(不被立即使用,而且也不备较短的时间里被使用的数据)操作.
...

阅读全文…

两个存储过程的比较

[ 2005-06-22 23:04:43 | 作者: admin ]

cREATE PROCEDURE [dbo].[PAGERDATA_P]
@sqlstr nvarchar(3500), --SQL字串
@curpage int,--第N頁
@pagesize int--每頁行數
AS
begin
--select @pagecount=3,@pagesize=3 ,@sqlstr='select * from news order by distribute_date desc, ID desc'

set nocount on
declare @P1 int,--P1是游标的id
@rowcount int, @pagecount int
SET @sqlstr = RTRIM(@sqlstr)
exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
...

阅读全文…

SQL Server 存储过程的分页方案比拼

[ 2005-06-22 23:04:13 | 作者: admin ]

SQL Server 存储过程的分页方案比拼
SQL Server 存储过程的分页,这个问题已经讨论过几年了,很多朋友在问我,所以在此发表一下我的观点
建立表:

CREATE TABLE [TestTable] (
  [ID] [int] IDENTITY (1, 1) NOT NULL ,
  [FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
  [LastName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
  [Country] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
  [Note] [nvarchar] (2000) COLLATE Chinese_PRC_CI_AS NULL
...

阅读全文…
使用 SQL Server 时需要经常用到的几个设置选项
1. SET DEADLOCK_PRIORITY
2. SET LOCK_TIMEOUT
3.@@LOCK_TIMEOUT
4.SET IDENTITY_INSERT
5.SET IMPLICIT_TRANSACTIONS
6.SET NOCOUNT
7.@@ROWCOUNT
8.SET ROWCOUNT
9.SET TRANSACTION ISOLATION LEVEL
10.SET XACT_ABORT


1. SET DEADLOCK_PRIORITY

说明:控制在发生死锁情况时会话的反应方式。如果两个进程都锁定数据,并且直到其它进程释放自己的锁时,每个进程才能释放自己的锁,即发生死锁情况。

语法:SET DEADLOCK_PRIORITY { LOW | NORMAL | @deadlock_var }
...

阅读全文…

存储过程-临时表-视图的比较

[ 2005-06-22 16:24:27 | 作者: admin ]
存储过程可以提高利用性,一个存储过程可以被多次调用,并且可以节约网络传输速度。

视图是一种虚拟的表,视图只是一条预编译的SQL语句,并不保存实际数据,是以语句的形式存储的,可以提高安全性,可以是几个表中的部分字段的组合。

临时表是保存在tempdb中的实际的表,临时表是临时的一种表,并不需要占用空间,只是临时需要建立的一种表,不需要永久保存的。


sql server 中的 SET NOCOUNT 问题

[ 2005-06-22 16:23:59 | 作者: admin ]
当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。
即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。
当 SET NOCOUNT 为 ON 时,将不给客户端发送存储过程中的每个语句的 DONE_IN_PROC 信息。当使用 Microsoft® SQL Server™ 提供的实用工具(QA)执行查询时,在 Transact-SQL 语句(如 SELECT、INSERT、UPDATE 和 DELETE)结束时将不会在查询结果中显示"nn rows affected"。
如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。
SET NOCOUNT 设置是在执行或运行时设置,而不是在分析时设置。
如果存储过程中有多个语句,则默认情况下,SQL ...

阅读全文…

原创日志 实数的判断 Decimal 类型

[ 2005-06-20 22:27:26 | 作者: admin ]
//本月累计 = 本月 + 上月累计
              if( ! Convert.ToDecimal(Request.Form["d05_03"]).Equals( Convert.ToDecimal(Convert.ToSingle(Request.Form["d05_01"]) + lastMonthData.D05_03)) )
              {
                strErrMsg+="销售收入-数据验证没用通过: 本月累计("+ Request.Form["d05_03"] +")=本月("+ Request.Form["d05_01"] +")+上月累计("+ lastMonthData.D05_03.ToString() +")\\n";
              }

access导入dbf时遇到问题

[ 2005-06-16 09:52:57 | 作者: admin ]
提示格式不正确的时候,可以安装 BDE5.0 数据库引擎