
Sql Server
文章平均质量分 52
Teng_s2000
这个作者很懒,什么都没留下…
展开
-
Sql Server2008CTP安装
第一次安装SqlServer2008CTP版本的数据库遇到的问题看安装应该是比2005还要好点,具体情况还不清楚呢先装上再说吧随便弄了几个截图 到了下面这一步,费了半天劲才过去,开始以为是类似sa用户呢,随便输了几个用户名称,其中还考虑了密码强度问题但是还是不行,最后试了一下Windows2003的Administrator帐户还是不行。于是自己新建了一个带密码的系统帐户原创 2008-05-05 00:15:00 · 1152 阅读 · 0 评论 -
某外企SQL Server面试题
Question 1:Can you use a batch SQL or store procedure to calculating the Number of Days in a Month Answer 1:找出当月的天数select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast(cast(year(getdate()) as varchar转载 2006-05-11 16:00:00 · 1648 阅读 · 0 评论 -
MS-SQL server数据库开发精典技巧
1.取回表中字段: declare @list varchar(1000),@sql nvarchar(1000) select @list=@list+,+b.name from sysobjects a,syscolumns b where a.id=b.id and a.name=表A set @sql=select +right(@list,len(@lis原创 2006-04-29 12:53:00 · 1402 阅读 · 1 评论 -
Sql Server访问excel的数据
方法一:使用链接服务器,将Excel文件链接成服务器EXEC sp_addlinkedserver Excel, Jet 4.0, Microsoft.Jet.OLEDB.4.0, d:/cims/人工吹制人员餐费明细表.xls, NULL, Excel 5.0GO--sp_dropserver excel1,nullselect * from Exce原创 2006-04-27 16:46:00 · 1831 阅读 · 0 评论 -
JOIN用法
在我叙述JOIN的用法前,我先引用数据库设计中最常见的范式资料。第三范式(3NF):如果关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递信赖,则称关系R是属于第三范式的。 例:如S1(SNO,SNAME,DNO,DNAME,LOCATION) 各属性分别代表学号,姓名,所在系,系名称,系地址。 关键字SNO决定各个属性。由于是单个关键字,没有部分依赖的问题,肯定是2NF原创 2006-04-08 10:05:00 · 1115 阅读 · 0 评论 -
Sql Server计算余数
select 10%3返回结果:1原创 2006-03-01 13:55:00 · 7841 阅读 · 0 评论 -
SQL Server 数据库管理常用的SQL和T-SQL语句
1.按姓氏笔画排序:Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as2.数据库加密:select encrypt(原始密码)select pwdencrypt(原始密码)select pwdcompare(原始密码,加密后密码) = 1--相同;否则不相同 encrypt(转载 2006-03-07 15:43:00 · 1306 阅读 · 0 评论 -
Sql Server中判断表或者数据库是否存在
1.数据库if exists(select 1 from master..sysdatabases where name=example)print DataBase existedelseprint Database not existed2.表IF Exists(Select 1 From sysObjects Where Name =表名 And Type In原创 2006-02-27 11:07:00 · 4261 阅读 · 0 评论 -
SQL Server 2005的几个新功能
SQL Server 2005相对于SQL Server 2000改进很大,有些还是非常实用的。举几个例子来简单说明 这些例子我引用了Northwind库。1. TOP 表达式 SQL Server 2000的TOP是个固定值,是不是觉得不爽,现在改进了,可以使用表达式。 --前n名的订单declare @n int set @n = 10 select TOP(@n)原创 2006-03-31 14:07:00 · 2161 阅读 · 2 评论 -
Sql Server的日期与时间函数
Sql Server中的日期与时间函数 1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dateadd(day,2,200原创 2006-02-23 09:09:00 · 1431 阅读 · 0 评论 -
删除Sql Server的表
use exampleif object_id([change.bak],U) is not nulldrop table [change.bak]U是Object_id 的type,type的对象类型对象类型:AF = 聚合函数 (CLR)C = CHECK 约束D = DEFAULT(约束或独立)F = FOREIGN KEY 约束PK = PRIMAR原创 2006-02-21 12:09:00 · 1228 阅读 · 0 评论 -
很久以前的一个sql面试题及答案
今天突然想起来很久以前的一个sql面试题,在同事的帮助下终于实现了.在此对vivianhu(MM)表示感谢.题目具体数据记不清了,但是大概意思一样,要求在查询分析器中完成,题目如下:表className中有如下分类:classID className1 衣服2 裤子5 帽子10 鞋子转载 2006-05-11 15:55:00 · 1596 阅读 · 0 评论 -
删除数据库中的所有表
use imds1declare @tname varchar(8000)set @tname=select @tname=@tname + Name + , from sysobjects where xtype=Uselect @tname=drop table + left(@tname,len(@tname)-1)exec(@tname)原创 2006-05-19 15:08:00 · 1341 阅读 · 0 评论 -
在Sql Servr数据库中利用触发器来控制某一列不让用户进行修改的方法
在程序开发经常会遇到一些数据库中的列一旦被创建就不能随意的修改的情况,如用户管理系统中如果创建了一个用户那么用户名就不能随意的更改了,这种情况可以借助sql server的触发器来实现。方法一:create trigger aaa on admin--表名for updateasif update(username)--username就是不能被随意更改的字段rollback tra原创 2007-05-19 11:47:00 · 8025 阅读 · 3 评论 -
Sql Server数据库中Identity类型字段的使用
大家在创建数据库的时候肯定是经常使用Identity标识字段类型的。下面就介绍两个使用这种类型字段的小技巧。1.让标识字段从指定的数字开始计数:DBCC checkident (TableName,reseed,计数值-1)如:让customers表重新从1开始计数dbcc checkident(customers,reseed,0)--从0+1即1开始计数2.由于identi原创 2007-05-12 14:39:00 · 6227 阅读 · 0 评论 -
Sql Server2000版本差异产生的问题
最近作的项目使用的数据库是sql server2000,具体的版本号(通过select @@version查看)是 :Microsoft SQL Server 2000 - 8.00.194 (Intel X86) Aug 6 2000 00:57:48 Copyright (c) 1988-2000 Microsoft Corporation Developer Edition原创 2007-05-14 14:19:00 · 1595 阅读 · 0 评论 -
闲着没事从别的服务器上备份过的数据库文件出现的问题
今天下午闲着从其他的服务器上备份了一个数据库文件,然后在自己的sql管理器中还原的时候报错,什么“with move”“D:/data..”这类的错误提示信息。但是原来备份还原一点问题都没有出现过,而且版本都是sql server2000的,究竟是什么原因呢?还原了几次都不行,就仔细看了一下“错误信息”发现D:/data这东西,不应该啊,这是什么错误呢?后来一想不错那个服务器上数据文件(.mdf,原创 2007-04-29 16:54:00 · 1136 阅读 · 1 评论 -
sql server中的几个小知识
今天看了看邹建的博客,学了不少东西,记录一下!邹老大真是太牛了啊!1.取出前几条记录可以使用下面2中方法,第二种还真的没用过select top 10000 * from classgoset rowcount 10000 select * from class2.计算取出的数据占用的系统空间exec (Use northwind;exec sp_spaceused "cl原创 2007-04-04 11:45:00 · 1027 阅读 · 0 评论 -
查找某一字段所在的表
查询某一字段所在数据表的方法:use 所在的数据库select object_name(ID) as 所在的表 from syscolumns where name=字段原创 2006-07-17 13:22:00 · 1132 阅读 · 0 评论 -
Bulk Insert的用法
1.创建表CREATE TABLE [dbo].[T]( [Company] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, [Address] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, [PostCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NUL原创 2006-07-04 16:39:00 · 1991 阅读 · 0 评论 -
SQL SERVER2005加密解密数据
数据来源:牛可微软TechNet 讲述SQL Server 2005的数据加密功能和配置以及如何通过它实现对敏感数据的保护。演示用的脚本提供给大家作为参考: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/*[课程]使用数据库加密原创 2006-11-01 15:05:00 · 2223 阅读 · 0 评论 -
在Sql Server2005种使用SqlCMD
在查询窗口中输入下面的代码,然后点击“SqlCMD模式”以开启“sqlcmd模式”:out c:/test.txt --输出路径select @@version as Server Version----sql版本!!dir!!:goselect @@servername as Server Name--服务器名称gouse exampl原创 2006-06-19 12:42:00 · 1343 阅读 · 0 评论 -
在Sql Server中计算1+2+...+100
创建一个存储过程:create procedure MySum@n int,@sum int outputas set @sum=0set @n=100while @n>0begin set @sum=@sum+@n set @n=@n-1end--invokedeclare @sum intexec MySum-1,@sum outputselect @sum原创 2006-05-29 10:09:00 · 4443 阅读 · 1 评论 -
计算查询出来的结果的大小
将需要查询出来的结果放在一个临时表中,计算完成后再删除临时表select * into TEST0 from testgoexec( exec sp_spaceused test0 drop table test0)结果如下 name rows reserved data index_size原创 2006-02-23 13:11:00 · 1118 阅读 · 0 评论 -
sql server 与Oracle的数学函数
1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual 3.取整(小) S:select floor(-1.001) value O:selec转载 2006-02-21 18:45:00 · 1315 阅读 · 0 评论 -
SQL SERVER中修改列名
在sql server中修改表的列名,可以使用sp_renamesp_rename change.Times,TIMES1,columnchange是表名,times是原来的列名,times1是新的列名注意:times1前面不要有表名,否则,更改后的列名为change.times1原创 2006-03-10 09:08:00 · 25592 阅读 · 2 评论 -
利用Sql Server2000的规则对数据库中的数据进行限制
1.创建规则create rule Number as @range>1000 and @range其中:Number为创建的规则名称,range为参数2.将规则绑定到表中的字段上Exec sp_bindrule Number,test.[a1]其中:test为需要绑定的表名,a1为表test中的字段原创 2005-11-04 09:05:00 · 1297 阅读 · 0 评论 -
拼音处理
/*-1.-获得汉字字符串的首字母 根据大力的贴子改成.将大力的两个函数合并成了一个函数. 可以应用于助记码的查询--转载(最早见于j9988的发表,具体原作者不明)--*/if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[fGetPy]) and xtype in (NFN, NIF, N原创 2005-10-26 08:30:00 · 1104 阅读 · 0 评论 -
根据当月数据库自动生成下个月数据库
/*--原帖地址:http://community.youkuaiyun.com/Expert/topic/3818/3818559.xml?temp=.9593317--*//*--处理要求在sql数据库里有一个名为Pos200502的Database,每个月会有一个类似于这样名称(Pos200502 Pos200503)的database我该如何利用sql server的自动作业+一段存储过程,实现以下功原创 2005-10-25 15:00:00 · 1110 阅读 · 0 评论 -
通过触发器实现数据库的即时同步
--即时同步两个表的实例:--测试环境:SQL2000,远程主机名:xz,用户名:sa,密码:无,数据库名:test--创建测试表,不能用标识列做主键,因为不能进行正常更新--在本机上创建测试表,远程主机上也要做同样的建表操作,只是不写触发器if exists (select * from dbo.sysobjects where id = object_id(N[test]) and OB原创 2005-10-25 14:57:00 · 986 阅读 · 0 评论 -
数据库的备份与恢复
/*1.--得到数据库的文件目录 @dbname 指定要取得目录的数据库名 如果指定的数据不存在,返回安装SQL时设置的默认数据目录 如果指定NULL,则返回默认的SQL备份目录名--邹建 2003.10(引用请保留此信息)--*//*--调用示例 select 数据库文件目录=dbo.f_getdbpath(tempdb) ,[默认SQL SERVER数据目录]=dbo.f_ge原创 2005-10-26 08:31:00 · 897 阅读 · 0 评论 -
查询数据库中,表结构的详细信息
SELECT 表名=case when a.colorder=1 then d.name else end, 字段序号=a.colorder, 字段名=a.name, 标识=case when COLUMNPROPERTY( a.id,a.name,IsIdentity)=1 then √else end, 主键=case when exists(SELECT 1 FROM原创 2005-10-26 08:29:00 · 967 阅读 · 0 评论 -
MS SQL Server2000全文索引image列全攻略
今天“百年不遇”的停电了,看了一天书。晚上搞了一下全文索引,决定把心得贴出来,我尽量写的详细,大家共同学习,欢迎指正!1、启动 Microsoft Search 服务 开始菜单-->SQL程序组-->服务管理器-->下拉筐-->Microsoft Search 服务-->启动它2、 ../Microsoft SQL Server/MSSQL/FTDATA/SQLServer/Config/目原创 2005-10-25 14:45:00 · 1075 阅读 · 0 评论 -
一个完整的SQL SERVER数据库全文索引的示例
一个完整的SQL SERVER数据库全文索引的示例。(以pubs数据库为例)首先,介绍利用系统存储过程创建全文索引的具体步骤:1) 启动数据库的全文处理功能 (sp_fulltext_database)2) 建立全文目录 (sp_fulltext_catalog)3) 在全文目录中注册需要全文索引的表 (sp_fulltext_tabl原创 2005-10-25 13:38:00 · 1223 阅读 · 0 评论 -
SQL SERVER 与ACCESS、EXCEL的数据转换
熟悉SQL SERVER 2000的数据库管理员都知道,其DTS可以进行数据的导入导出,其实,我们也可以使用Transact-SQL语句进行导入导出操作。在Transact-SQL语句中,我们主要使用OpenDataSource函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细说明原创 2005-10-17 11:14:00 · 748 阅读 · 0 评论 -
如何让sqlserver自增列重新从1开始算起
数据库原有ID字段,是自增列的,后来把数据全删除后,想让ID自增列从1开始算起方法1:1.dbcc checkident(test,reseed,0)2.insert into test values(55)select * from test显示结果:id msum1 55方法2:SET IDENTITY_INSERT 允许将显式原创 2006-03-10 12:36:00 · 5136 阅读 · 0 评论 -
T-SQL技巧
一、 只复制一个表结构,不复制数据 select top 0 * into [t1] from [t2]二、 获取数据库中某个对象的创建脚本1、 先用下面的脚本创建一个函数if exists(select 1 from sysobjects where id=object_id(fgetscript) and objectproperty(id,IsIn转载 2006-03-20 08:37:00 · 1165 阅读 · 0 评论 -
SQL server服务器间的数据同步
在SQL Server 2000里设置和使用数据库复制之前,应先检查相关的几台SQL Server服务器下面几点是否满足: 1、MSSQLserver和Sqlserveragent服务是否是以域用户身份启动并运行的(./administrator用户也是可以的) 如果登录用的是本地系统帐户local,将不具备网络功能,会产生以下错误:原创 2006-02-20 12:27:00 · 1088 阅读 · 0 评论 -
在T-SQL中复制字符
T-SQl中的REPLICATE命令复制给定的字符串任意次。字符串可以是一个字符或者多个。可以将该命令加入到脚本中得到更好的输出。以下命令可以输出一行星号:PRINT REPLICATE(*,80)字符串会按照定宽字符输出排列,比如Courier字体,下面的例子显示SQL SERVRE实例名的长度,没有什么实际的意义,致使说明它增加了T-SQL的可读性。PRINT RE原创 2006-02-24 15:46:00 · 1494 阅读 · 0 评论 -
Sql Server累计求和问题
优快云上一位朋友提出的问题:供电局6月1号到8号供点电量分别为8.14,8.25,8.33,8.36,8.47,8.77,8.23,8.45以次数据构成的数据库,要求查询累积供电量,比如2号的累积供电量为1号和2号供电量的加和;4号供电量是1号,2号,3号,4号供电量的加和。依次类推,要求用SQL语句将8天的累积供电量查询出来1.建表:USE [example]GO/****** 对原创 2006-02-24 12:59:00 · 7043 阅读 · 0 评论