
数据库查询语句
ReViSion
有努力总会有收获
展开
-
计算字段中表达式的值(只能限于少量的数据)
原创 2006-01-12 22:00:00 · 988 阅读 · 0 评论 -
返回参数的值
declare @name varchar(50)exec sp_executesql Nselect @value=姓名 from people where 人员编号=0001,N@value varchar(50) output,@name outputselect @name原创 2006-03-24 21:08:00 · 1546 阅读 · 0 评论 -
得到最后一次SQL执行语句
dbcc inputbuffer(@@spid)转载 2006-04-07 23:07:00 · 3946 阅读 · 0 评论 -
排序SQL
表一 (在数据表中的显示 ,就这几条,是死的) name(varchar) nid(int) aaa 1 aaaa 2 bbbb 3 ccc 4 cccc 5 ccccc 6 dddd 7 dddd 8 ffff 9排序按 nid 排下 ,还有di转载 2007-01-21 23:40:00 · 1018 阅读 · 0 评论 -
用语句更改字段的顺序
vivianfdlpw 2005.9 引用请保留此信息*/--创建测试环境create table TEST( A varchar(20), B varchar(20), C varchar(20), E varchar(20), F varchar(20),)go--允许系统标更新exec sp_configure allow updates,1goreconfig转载 2007-03-13 21:39:00 · 1608 阅读 · 0 评论 -
用osql 实现附加数据库
利用osql工具实现对数据库的附加操作1.在运行中输入"CMD",进入DOS操作环境2.执行osql -U sa3.根据提示输入密码4.进入SQL的命令操作界面 1> 在">"后输入相应的命令,例如附加数据库命令:sp_attach_db NPM2006, @filename1 = ND:/Data/PM_Data.MDF, @file转载 2007-04-07 14:51:00 · 1967 阅读 · 0 评论 -
IP地址转化为数字表示
PARSENAME返回对象名的指定部分。可以检索的对象部分有对象名、所有者名称、数据库名称和服务器名称。 说明 PARSENAME 函数不表明所指定名称的对象是否存在,而只是返回给定对象名的指定部分。语法PARSENAME ( object_name , object_piece ) 用这个函数实现select PARSENAME(192.168.0.5,4) --转载 2007-04-07 15:12:00 · 1275 阅读 · 0 评论 -
根据值的大小来确定对应项的出现的概率(newid()的使用)
从数据库里随机取纪录,随机取好像SELECT * from b order by newid()就行了,但又要按字段a取,比如a的直的越大,出现的几率就越高--答:建一个表,字段为(a)a 的值为多少就添加几条记录取时再这样, select top 1 a from 表 order by newid()------a 的值越大,被取到的机会也会越大原创 2007-04-13 14:30:00 · 1299 阅读 · 0 评论 -
SQL Server 2005 Beta 2 Transact-SQL 增强功能
show toc 欢迎来到 MSDN > 数据 SQL Server 2005 Beta 2 Transact-SQL 增强功能 发布日期: 3/11/2005 | 更新日期: 3/11/2转载 2007-04-22 11:36:00 · 1228 阅读 · 0 评论 -
DDL_DATABASE_LEVEL_EVENTS 数据库级的触发器,创建数据库日志表
使用 SQL SERVER 2005 新增功能---数据库级的触发器,创建数据库日志表 为数据库设计人员提供了便捷,创建一个日志表,当用户添加,删除数据库对象的时候,记录下来详细的情况,也可以为数据库管理员的还原提供了参考,因为里面记录了准确的操作时间,值得大家参考。USE [DataBaseName]GOSET ANSI_NULLS ONGOSET QUOTED_IDE转载 2007-08-24 21:24:00 · 2187 阅读 · 0 评论 -
再写一点数据库触发器
USE AdventureWorks;GOCREATE TABLE ddl_log (PostTime datetime, DB_User nvarchar(100), Event nvarchar(100), TSQL nvarchar(2000));GOCREATE TRIGGER log ON DATABASE FOR DDL_DATABASE_LEVEL_EVENTS ASDECLAR转载 2007-08-24 22:16:00 · 1111 阅读 · 0 评论 -
处理表重复记录(查询和删除)
--处理表重复记录(查询和删除)/******************************************************************************************************************************************************1、Num、Name相同的重复值记录,没有大小关系只保留一转载 2009-06-16 11:52:00 · 1290 阅读 · 4 评论 -
SQL Server 2000连接中的四个最常见错误
一."SQL Server 不存在或访问被拒绝" 这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多. 一般说来,有以下几种可能性: 1,SQL Server名称或IP地址拼写有误 2,服务器端网络配置有误 3,客户端网络配置有误要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因. ============= 首先,检查网络物理连接 ============= ping转载 2009-06-16 15:05:00 · 1276 阅读 · 0 评论 -
列出用户表及查询所有用户表的第一条记录
1。列出所有的用户表select * from sysobjects where objectproperty(id, isusertable)=12。列出所有用户表的第一条记录exec sp_msforeachtable select top 1 * from ?原创 2006-02-24 20:42:00 · 2150 阅读 · 0 评论 -
强行断开指定数据库的所有连接
--在当前库操作,这个语句,执行以下操作如:Use MasterUse masterdeclare @s nvarchar(1000),@dbname varchar(200)set @dbname=数据库名称declare tb cursor local forselect Nkill +cast(spid as varchar)from master..sysproce原创 2006-02-09 18:49:00 · 2113 阅读 · 0 评论 -
特别排序语句(字段首字母升序,字段相同则降序,其余升序)
表名 T_LABEL,存储结构如下ID Label1 ABC2 CBD3 AC4 BC5 BB6 BC7 AA9 BB10 BA 查询要求:1.按首字母升序排列。例如首字母为A的纪录在排在最前。2.完全相同的按照ID降序排列,例如ID = 5,LABEL = BB,ID = 9,LABEL =原创 2006-01-17 21:41:00 · 1862 阅读 · 0 评论 -
不知道列名,查询指定表第几列的数据
问题:比如现在我不知道列名,我想select 第3列该怎么做?samfeng_2003(凤翼天翔) :create table t(col1 varchar(20),col3 varchar(30),col2 varchar(10),col4 varchar(50))insert tselect 1,df,34,56godeclare @t varchar(20)selec原创 2006-01-18 22:07:00 · 3254 阅读 · 0 评论 -
count(*)跟count(ID)在性能上的差别
id是不是主键吧。要是一般字段,count(*)快,要是主键count(id)快。要是count(自增字段)就更快原创 2006-01-24 16:36:00 · 1358 阅读 · 0 评论 -
更改数据库对像的所有者
libin_ftsafe(子陌红尘):sp_changeobjectowner更改当前数据库中对象的所有者。语法sp_changeobjectowner [ @objname = ] object , [ @newowner = ] owner下面的示例将 authors 表的所有者改为 Corporate/GeorgeW。EXEC sp_changeobjectowner原创 2006-01-18 22:03:00 · 1091 阅读 · 0 评论 -
得到服务器的IP地址
create table #tb(o varchar(250))declare @sql varchar(500)set @sql=ping +@@servernameinsert into #tb exec master..xp_cmdshell @sqlselect @sql=o from #tb where o like Pinging%select @sql=substring原创 2006-03-12 10:19:00 · 1599 阅读 · 0 评论 -
在查询语句中如何将NULL值转换为0?
SELECT ISNULL(字段,0) from 表或者SELECT COALESCE(字段,0) from 表原创 2006-01-17 21:59:00 · 2261 阅读 · 0 评论 -
化解字符串超过8000个的方法及交叉表的使用
引用邹老大:经常有人提到,用动态生成SQL语句的方法处理数据时,处理语句超长,无法处理的问题下面就讨论这个问题:/*-- 数据测试环境 --*/if exists (select * from dbo.sysobjects where id = object_id(N[tb]) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table [t原创 2006-01-25 09:35:00 · 993 阅读 · 0 评论 -
查询表结构
=================================================================================-- 表结构信息查询-- 邹建 2005.08(引用请保留此信息)-- =================================================================================原创 2006-03-16 20:58:00 · 1362 阅读 · 0 评论 -
ACCESS中操作 SQL Server 数据库
--ACCESS中操作 SQL Server 数据库,需要你能连接远程的 SQL Server 服务器:然后打开ACCESS数据库(用ACCESS打开/程序中打开均可)--导入数据到ACCESS数据库中--如果是下载SQL的数据(表已经存在的情况)insert into 表名SELECT *FROM [ODBC;Driver=SQL Server;Server=远程SQL服务器名;Uid=原创 2006-03-12 10:10:00 · 2159 阅读 · 3 评论 -
请问如何在存储过程中引用别的存储过程返回的表
1.一般的方法认为只有把存储过程返回的值,写入一个结构相同的辅助表中,如下:create procedure proc1asbegin create table #t(...) --表结构同被调用存储过程返回结果集的结构 insert #t exec proc2 select * from #t left join table on ...endgo2。还有一个方面原创 2006-03-09 20:49:00 · 2339 阅读 · 0 评论 -
求大表的记录总和
数据量为200多万条,运行select count(*) from tableName时用时4分多钟确实速度是个问题,如果建立了聚集索引的话,完全可以用这个Select rows from sysindexes where id=object_id(Ntablename) and indid原创 2006-02-09 18:37:00 · 1289 阅读 · 0 评论 -
把文件存入数据库
参考:用image类型方法:1、建立过程CREATE PROCEDURE sp_textcopy ( @srvname varchar (30), @login varchar (30), @password varchar (30), @dbname varchar (30), @tbname varchar (30), @colname varchar (30), @filename va原创 2006-02-09 21:43:00 · 1859 阅读 · 0 评论 -
SQL Server性能优化案例报告
SQL Server性能优化案例报告收藏1. 问题分析 1.1 现象描述某企业客户内部知识管理系统基于微软SharePoint服务器产品并进行了应用扩展开发,NLB负载均衡部署,后台数据库采用SQL Server 2000 企业版,双核 4C 8G内存两节点群集。在两三年的使用过程中,随着系统用户的增多,出现了数据库服务器CPU占用过高的情况,导致前端访问响应速度慢,转载 2009-06-24 11:08:00 · 1163 阅读 · 0 评论