文章分类 -  SQL

sql 2005 row_number()分页 (备忘)
摘要:SELECT * FROM (SELECT row_number() OVER (ORDER BY rd_roadid desc) AS rowno,* FROM MS_Road) AS t WHERE rowno BETWEEN 201 AND 210 阅读全文
posted @ 2012-08-01 23:39 vingi_苍月 阅读(115) 评论(0) 推荐(0)
SQLSERVER数据审计 (转)
摘要:经常有人问,说发现商品资料表(SPKFK)和客户资料表(MCHK)里的资料被修改了,但是又查不出是谁修改的,修改前是什么内容。如何才能跟踪这些表的变化呢?这里就需要在SQLERVER中建立相应的表和存储过程和触发器,来跟踪发生改变的数据,并把原数值和新数值都插入审计记录表中。由于时空的表结构和LOG日志表结构的原因,只能跟踪几点几分,某个用户名进入哪些模块。但是不能知道在这些模块里做了些什么。因此,进入日志查询也查不到商品资料的变化记录。这里就需要采用数据审计功能来完成上述要求。数据审计可以展示某行数据自插入后所有的数据变化。展示某个用户上周针对某表作的全部数据更改展示某个工作站针对某表所做的 阅读全文
posted @ 2012-04-27 15:26 vingi_苍月 阅读(1583) 评论(0) 推荐(0)
C# SQL参数化存储(备忘)
摘要:System.Data.SqlClient.SqlParameter[] sqlpas = new System.Data.SqlClient.SqlParameter[]{new System.Data.SqlClient.SqlParameter("@er_objid",productid),new System.Data.SqlClient.SqlParameter("@er_account",_account)};db_soufuntwp.ExecuteNonQuery("INSERT INTO dbo.SF_ExpendReview 阅读全文
posted @ 2012-03-14 16:10 vingi_苍月
sp_executesql的参数长度及验证nvarchar(max)的长度(转载)
摘要:今天有同事使用:sp_executesql 出现问题,虽然使用了参数nvarchar(max)但依旧提示被截断参数,于是怀疑使用了nvarchar(max)的长度有问题,协助解决,顺便验证了一下max的值问题网上很多无人子弟的信息说max==8000得出varchar(max)=varchar(8000)之说验证语句如下:declare @t nvarchar(max)set @t=replicate('1',9000) --这里限定产生的基数内容‘1’是varchar的8000print len(@t) --这里得出的结果是错误的set @t=replicate(conver 阅读全文
posted @ 2009-12-04 12:16 vingi_苍月 阅读(1372) 评论(0) 推荐(0)
效率极高的分页存储过程(针对有主键表)
摘要:CREATE PROCEDURE UP_GetRecordByPage @tblName varchar(255), -- 表名 @fldName varchar(255), -- 主键字段名 @PageSize int = 10, -- 页尺寸 @PageIndex int = 1, -- 页码 @IsReCount bit = 0, -- 返回记录总数, 非 0 值则返回 @OrderType bit = 0, -- 设置排序类型, 非 0 值则降序 @strWhere varchar(1000) = '' -- 查询条件 (注意: 不要加 where)ASdeclare 阅读全文
posted @ 2009-11-19 16:59 vingi_苍月 阅读(151) 评论(0) 推荐(0)