随笔分类 -  SQL SERVER

摘要:根据ID来查询用户的T-SQL 文如下:  declare @user_id int = 3  select * from tb_user where user_id = @user_id  这样的T-SQL是没有问题的。但是如果在存储过程中,使用SET语句为user_id传值时,则需要将@user_id转换为string类型,如下所示:  declare @user_id int= 3  dec... 阅读全文
posted @ 2010-04-03 11:02 弹着钢琴设计
摘要:SLQ SERVER 2005调试方法 包括T-SQL文、存储过程和触发器  注:本文所讲的调试方法是针对SQL SERVER 2005。  一 T-SQL调试  有两种:一是在SQLSERVER MANAGE STUDIO(简称SSMS,或者叫MS SQL客户端)中使用print来查看结果;二是在VS2005或VS2008中调试,这种调试办法见下文。  在SSMS中调试办法示例:  新建查询过程... 阅读全文
posted @ 2010-04-03 10:15 弹着钢琴设计
摘要:示例如下:  在SQL SERVER Manage Studio中执行如下查询语句:  declare @a varchar(50)  set @a = 'fda''bbb'''  print @a  结果为:fda'bbb'  因此,要在sql server的查询字符串中插入单引号,只需在被引号括起来的字符串左右两边分别添加''即可。 阅读全文
posted @ 2010-04-02 17:32 弹着钢琴设计
摘要:有一张新闻数据表tb_news,该表有字段news_id int, news_type int,前者是主键,后者是新闻所属栏目ID,现在要求是这样:给定一个字符串a_right,该字符串中包含多个新闻栏目ID值,即news_type,并且存储格式是'b'+news_type+'v',各ID值之间以逗号相隔,例如:b1v, b2v, b3v……  现在要从新闻表中查询出所有n... 阅读全文
posted @ 2010-04-02 17:07 弹着钢琴设计
摘要:压缩一条数据库语句如下:CREATE Procedure [dbo].[sp_Compress] ASBEGINDECLARE @db_name varchar(200)set @db_name='dangjiae' --数据库名DUMP TRANSACTION @db_name WITH NO_LOGBACKUP LOG @db_name WITH NO_LOGDBCC SHRINKDATABA... 阅读全文
posted @ 2010-03-28 18:07 弹着钢琴设计
摘要:首先,切忌:下面涉及到的还原存储过程不要建立在目标数据库中,而是要建立在其他数据库或系统自带的数据库master数据库中。    /*备份数据库的过程*/if exists(select * from sysobjectswhere name='pr_backup_db' and xtype='p' )begindrop proc pr_backup_dbendgocreate proc pr_b... 阅读全文
posted @ 2010-03-28 17:41 弹着钢琴设计
摘要:本文转自:http://hi.baidu.com/yanzuoguang/blog/item/e94b2534d44b6b83a71e1255.html  在此严重感谢该文作者!因为看了那么多作者写的数据库恢复语句,没有一个提到:恢复必须在单用户模式下操作才能够成功,更没有一个提到:存储过程不要建立在目标数据库中。对于新手,如果不知道这样两个前提就来搞恢复,会碰到各种各样的问题。  备份:back... 阅读全文
posted @ 2010-03-28 17:35 弹着钢琴设计
摘要:在SQL 2005中出现“数据类型 varchar 和 bit 在 add 运算符中不兼容”只需用convert()函数 如要把一个bit类型的变量@num转化为varchar类型:convert(varchar(4),@num)。CREATEPROCEDURE [dbo].[sp_News_DeleteCategory1] @CategoryID Nvarchar(16... 阅读全文
posted @ 2010-03-25 16:31 弹着钢琴设计
摘要:在做sql server数据库从备份文件.bak中恢复,恢复后,在执行查询时报错:SQL Server 检测到基于一致性的逻辑 I/O 错误  SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0xd4eae74b,但实际为: 0xd4eb674b)。在文件 'D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\D... 阅读全文
posted @ 2010-03-10 17:01 弹着钢琴设计
摘要:Sql Server 2005中的架构(Schema)、用户(User)、登录(Login)和角色(Role)(一)我相信很多人接触这些概念的时候一头雾水。要把这些概念理清楚真不是件容易的事,哪像原始社会,只要能分清楚什么能吃什么不能吃就行了。   但是我始终坚信,每一个概念的产生必然是因为碰到了无法解决的问题。换句话说,如果没有它,必然会导致某些问题难以解决。所以我想从这个角度切入,希望能把这几... 阅读全文
posted @ 2010-02-21 10:50 弹着钢琴设计
摘要:在sqlserver 2005中,可能大家在工作或学习的时候会经常发现这样一些问题,你使用一个账户在数据库中创建了一张表,却发现你自己创建的表却没有修改和查询的权限,这是一件很郁闷的事情,在sqlserver2000中却不存在这样的问题,那为什么在2005中会出现这样的事情,这样的设置可以带来哪些好处?其实导致这一问题的原因主要在于2005中多了一个新的概念—架构。首先我们来看一下ms... 阅读全文
posted @ 2010-02-21 10:43 弹着钢琴设计
摘要:举例如下:  一张员工表tb_user,有字段id、name、num(员工工号),则查询id=20的员工的前一个员工和后一个员工的sql文分别是:  前一个员工:select top 1 * from tb_user where id < 20 order by id desc(加上desc,数据库将从表末端开始查询);  后一个员工:select top 1 * from tb_user ... 阅读全文
posted @ 2010-02-04 10:52 弹着钢琴设计
摘要:存储过程概述存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。 目录[隐藏]一、存储过程介绍二、使用存储过程有以下的优点:三、存储过程的种类:四、存储过程的书写格式:五、存储过程的常用格... 阅读全文
posted @ 2010-02-03 10:18 弹着钢琴设计
摘要:sql server中,表名不能为"user"或"users",否则将无法对其进行任何操作;  字段名不能为name或者conteng,如果使用这些关键字,需要用中括号括起来:"[name]"、"[content]" 阅读全文
posted @ 2010-01-25 10:19 弹着钢琴设计
摘要:1:设计的数据表必须要有主键,否则数据无法插入和更新  今天在asp项目中设计表时忘记将id设为主键,结果执行rs.update时死活无法插入数据,后来添加了主键,问题迎刃而解。 阅读全文
posted @ 2010-01-15 09:40 弹着钢琴设计
摘要:SQL Server自动备份的SP, 只要加上数据库名, 和路径即可.CREATEproceduresp_backDB@dbnamevarchar(100),@pathvarchar(100)as--createbyAllen2004-11-01inordertobackupdatabaseandverifydatabasedeclare@baknamevarchar(100)--declare@... 阅读全文
posted @ 2010-01-11 16:13 弹着钢琴设计
摘要:我们通常在维护数据库的时候,都会建立一个备份的机制,在SQL Server中,我们就可以通过如下的方法来实现:   在SQL Server 2005数据库中实现自动备份的具体步骤:   1、打开SQL Server Management Studio   2、启动SQL Server代理   3、点击作业->新建作业   4、"常规"中输入作业的名称   5、新建步骤,类型选T-SQL,在下... 阅读全文
posted @ 2010-01-11 16:04 弹着钢琴设计
摘要:一、备份数据库     1、打开SQL企业治理器,在控制台根目录中依次点开Microsoft SQL Server  2、SQL Server组-->双击打开你的服务器-->双击打开数据库目录  3、选择你的数据库名称(如财务数据库cwdata)-->然后点上面菜单中的工具-->选择备份数据库  4、备份选项选择完全备份,目的中的备份到假如原来有路径和名称则选中名称点删除,... 阅读全文
posted @ 2010-01-11 15:44 弹着钢琴设计
摘要:直接使用.mdf和.mlf跟备份并没有太大的区别,实际在很多数据量相当的数据库进行备份的时候,就是将数据库分离后,直接复制这两个文件进行数据库备份的 。但如果如果数据库在运行中,且存在活动连接则无法直接拷贝mdf,只能使用备份功能。  功能上的区别如下:  备份/还原数据库--对数据库的维护   复制数据库操作的区别--直接备份数据物理文件   导出/导入数据库--用2005ssis和2000dt... 阅读全文
posted @ 2010-01-11 15:06 弹着钢琴设计
摘要:向新的sql server服务器导入以前的.mdf和.ldf文件方法是:  打开SQL SERVER Management Studio->向下展开到'数据库'->右键点击'数据库'->选择'所有任务'->点击'附加数据库'->点击 带三个点的按钮(...)->找到要附加的数据库(要选择后缀名.mdf的)->点击确定->点击确定 附加成功 阅读全文
posted @ 2010-01-11 15:00 弹着钢琴设计