
Ms SQL
文章平均质量分 59
huotu
这个作者很懒,什么都没留下…
展开
-
查询从第几条到第几条记录的高效sql语句
查询从第几条到第几条记录的高效sql语句:-- setp 1.-- 建表create table t_userinfo(userid int identity(1,1) primary key nonclustered,nick varchar(50) not null default ,classid int not null default 0,writetime datetime n转载 2008-05-29 16:52:00 · 9010 阅读 · 1 评论 -
SQL SERVER中全文检索的创建与应用
全文搜索的核心引擎建立在Microsoft Full-Text Engine for SQL Server (MSFTESQL) 服务提供支持 面对海量的数据,如何才能找到我需要的?对数百万行文本数据执行的LIKE 查询可能需要花费几分钟时间才能返回结果;但对同样的数据,全文查询只需要几秒或更少的时间,具体取决于返回的行数,全文检索提供了一种便捷的方式,轻松地让所需数据手原创 2010-03-12 09:16:00 · 695 阅读 · 0 评论 -
Mssql中实现用正则表达式更新字段值
create function dbo.regexReplace ( @source varchar(5000), --原字符串 @regexp varchar(1000), --正则表达式 @replace varchar(1000), --替换值 @globalRepla转载 2010-02-04 17:54:00 · 1807 阅读 · 0 评论 -
SQL存储过程(CLR存储过程)或函数中调用.NET程序集中的方法
在VS2008中创建一个类库,在此类库下新建一个名为SayHelloClass的类,程序集名为SayHello,代码如下: using Microsoft.SqlServer.Server;using System;using System.Data;using System.Data.Sql;using System.Data.SqlTypes; namespace SayHello原创 2010-01-16 14:05:00 · 1319 阅读 · 0 评论 -
删除数据库中重复数据的几个方法
删除数据库中重复数据的几个方法数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置…… 方法一declare @max integer,@id integerdeclare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1原创 2010-01-16 16:55:00 · 406 阅读 · 0 评论 -
sql2000创建交叉表的实例分析
例一、教师课程表如下:教师号 星期号 是否有课 1 2 有 1 3 有 2 1 有 3 2 有 1 2 有 写一条sql语句让你变为这样的表 教师号 星期一 星期二 星期三 1 2 1 2 1 3 1 各星期下的数字表示:对应的教师在星期几已经排的课数 1、创建表:CREATE T原创 2010-01-14 10:51:00 · 1256 阅读 · 0 评论 -
用自定义循环记录的方式代替自带的游标
在数据库中用循环的方法来代替游标,又时可以大大提高性能,下面的代码是循环方法的大体格式:假定在Accounts表中的ID字段值是唯一的,并且是可以排序-- 定义变量DECLARE @LoopFlag INTDECLARE @NextRowId INTDECLARE @currID INTDECLARE @currAccount INT-- 初始化变量SELECT @LoopFlag =原创 2009-10-12 10:17:00 · 549 阅读 · 0 评论 -
彻底杜绝SQL注入
数据库中的安全设置: 1、不要使用sa用户连接数据库。 2、新建一个public权限数据库用户,并用这个用户访问数据库。 3、在指定数据库 - 安全性 - 角色 去掉角色public对sysobjects与syscolumns对象的select访问权限 。4、[用户]用户名称-> 右键-属性-权限-在sysobjects与syscolumns上面打“×”。 5、通过以下代原创 2009-09-10 18:36:00 · 435 阅读 · 0 评论 -
把自增字段变成普通字段的SQL语句
把自增字段变成普通字段,可以直接在企业管理器里面进行操作.下面简单的说一下用SQL操作的思路: --先新增一个备份字段 alter table tbUser add UserId_bak int go --将自增字段数据转换到备份字段 update tbUser set UserId_bak = UserId go --删除自增字段 (如果此自增字段设置了主键要原创 2009-05-16 15:46:00 · 868 阅读 · 0 评论 -
常用的三条分页SQL语句(存储过程)的性能比较
第一条语句:SELECT TOP 页大小 * FROM Table1 WHERE id NOT IN (SELECT TOP (页码-1)*页大小 id FROM Table1) 第二条语句: SELECT TOP 页大小 *FROM Table1 a WHERE not exists(select * from (select top (页大小*页数) * from Table1 orde原创 2009-04-24 11:30:00 · 480 阅读 · 0 评论 -
用sql语句查询不定条数的记录
在用sql查询时,需要查询出固定条数的记录时,我们会用:Select Top 50 * From Orders但有时项目需求,不是查询出固定条数的记录时,而是需要通过计算得出需查询出多少条记录,这时我们可以这么做: declare @i int set @i=@num1 * @num2 set rowcount @i Select * From Orders set row原创 2009-04-23 10:59:00 · 983 阅读 · 0 评论 -
SQL2005循环递归列出子项
首先创建表:CREATE TABLE [dbo].[tbUser]( [UserId] [int] NOT NULL, [ParentUserId] [int] NOT NULL) ON [PRIMARY] 往表内添加以下数据:UserId ParentUserId1 02 113原创 2009-03-04 09:57:00 · 485 阅读 · 0 评论 -
通用的分页储存过程
在列出大量数据时经常要对数据进行分页,下面是一个通用的储存过程,性能还是比较好的,经测试100万条数据的表,从中读每页的数据不到1秒,查询条件尽量用索引列,现拿出来与大家分享. create proc GetPageList( @table varchar(20), --表名(视图名),必写 @showFileds varchar(原创 2008-10-10 19:20:00 · 388 阅读 · 0 评论 -
数据库游标结合临时表的使用
一、创建临时表定义相关的变量: CREATE TABLE #tempTable --创建临时表 ( MainTradeCode int, SubTradeCode int, SubTradeName varchar(50) ) DECLARE @keyword v原创 2008-09-28 11:35:00 · 825 阅读 · 0 评论 -
判断临时表是否存在
假如临时表的表名是: #newCorpTable在SQL 2000下可用以下方法判断此临时表是否已经存在:IF OBJECT_ID(tempdb..#newCorpTable) IS NOT NULL Begin Drop table #newCorpTable End原创 2008-09-28 10:41:00 · 446 阅读 · 0 评论 -
执行字符串sql语句得到返回值
declare @Total int declare @sSql nvarchar(1000) set @sSql = Nselect @Total = count(memberid) from products where memberid=1797049 execute sp_executesql @sSql,N@Total int out,@Total out sele原创 2008-05-30 14:47:00 · 805 阅读 · 0 评论