![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 56
dragon_ton
这个作者很懒,什么都没留下…
展开
-
如何得到连续序号
--SQL2000 --1select number from master..spt_values where type='p' --0-255 --2select top 10000 id=identity(int,1,1) into #t from sysobjects,syscolumns --SQL2005生成系列号(行号)两转载 2017-10-06 15:33:13 · 415 阅读 · 0 评论 -
数据库问题排查总结
[SQL Server] sp_who, sp_who2和sp_who3 sp_who可以返回如下信息: (可选参数LoginName, 或active代表活动会话数)Spid (系统进程ID)status (进程状态)loginame (用户登录名)hostname(用户主机名)blk (阻塞进程的SPID)dbn原创 2016-07-29 10:02:13 · 1732 阅读 · 0 评论 -
SQL字符串处理函数大全
select语句中只能使用sql函数对字段进行操作(链接sql server),select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了。left()是sql函数。select 字段1 from 表1 where charindex('云',字段1)=1;字转载 2016-06-04 13:02:15 · 348 阅读 · 0 评论 -
SQLServer中char、varchar、nchar、nvarchar的区别:
(1) 定义:char: 固定长度,存储ANSI字符,不足的补英文半角空格。nchar: 固定长度,存储Unicode字符,不足的补英文半角空格varchar: 可变长度,存储ANSI字符,根据数据长度自动变化。nvarchar: 可变长度,存储Unicode字符,根据数据长度自动变化。 nvarchar(n) :包含 n个字转载 2016-06-01 16:07:39 · 310 阅读 · 0 评论 -
SQL SERVER中强制类型转换cast和convert的区别
在SQL SERVER中,cast和convert函数都可用于类型转换,其功能是相同的,只是语法不同.cast一般更容易使用,convert的优点是可以格式化日期和数值.代码select CAST('123' as int) -- 123select CONVERT(int, '123') -- 123select CAST(123.4 as in转载 2016-02-02 13:55:44 · 10268 阅读 · 0 评论 -
数据库常用信息查询
1、换行符制表符 CHAR(9) 换行符 CHAR(10) 回车 CHAR(13)原创 2015-12-01 12:43:22 · 302 阅读 · 0 评论 -
SqlServer中把结果集放到到临时表的方法
在开发过程中,很多时候要把结果集存放到临时表中,常用的方法有两种。 一. SELECT INTO 1. 使用select into会自动生成临时表,不需要事先创建 select * into #temp from sysobjects 01. 把存储过程结果集SELECT INTO到临时表转载 2015-11-19 08:46:03 · 4495 阅读 · 0 评论 -
SQL中系统临时表的使用和禁忌 及 Exec(SQLScript) 的使用
以前在SQL 中写SP 时,如比较复杂时,喜欢中间使用临时表来暂存相关记录,这样的好处有很多,提高效率,提高程序的可读性等。当然后临时表的使用,一般均会使用用户临时表,即 #TempTable, 但有一些情况下,偶尔也会使用系统临时表,即 ##TempTable。 两种临时表的的使用语法差不多,可用几种方法来建立,可 Create ,也可 Select Into 。 当然关键的是系转载 2015-11-19 10:34:39 · 596 阅读 · 0 评论 -
无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问。)” (Microsoft SQL Server,错误: 5120)的解决方法
无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问。)” (Microsoft SQL Server,错误: 5120)的解决方法 问题描述:在附加数据库到sql server时,附加不上,出现如下图所示的错误 解决方法:找到xxx.mdf和xxx_log.ldf文件, 点击“右键”->“属性”转载 2015-11-19 21:04:55 · 495 阅读 · 0 评论 -
Sql Server常用功能
一、强制转化在SQL SERVER中,cast和convert函数都可用于类型转换,其功能是相同的,只是语法不同.cast一般更容易使用,convert的优点是可以格式化日期和数值.代码select CAST('123' as int) -- 123select CONVERT(int, '123') -- 123select CAST(1原创 2015-11-18 16:48:50 · 375 阅读 · 0 评论 -
SQL事务用法begin tran,commit tran和rollback tran的用法
-- ============================================= -- Author: cynimoon -- Create date: 2009-10-09 -- Description: 示例存储过程 -- ============================================= -- EXEC TEST_PROC '文综'转载 2016-11-05 16:42:47 · 5441 阅读 · 0 评论 -
sql server自己常用语句
1、修改属性 alter table [tb_LendItem] alter column Attribute2 datetime 2、修改列名 exec sp_rename '[tb_LendItem].Attribute2','MergeTime' ,'COLUMN'3、修改表名 EXEC sp_rename 'customers', 'custs' 4、修改数据原创 2016-11-14 17:17:39 · 365 阅读 · 0 评论 -
SQL Server遍历表的几种方法
阅读目录使用游标使用表变量 使用临时表 在数据库开发过程中,我们经常会碰到要遍历数据表的情形,一提到遍历表,我们第一印象可能就想到使用游标,使用游标虽然直观易懂,但是它不符合面向集合操作的原则,而且性能也比面向集合低。当然,从面向集合操作的角度出发,也有两种方法可以进行遍历表的操作,总结起来,遍历表有下面几种方法。使用游标使用表变量使用临时表我的需求是:针对H转载 2017-01-03 09:10:14 · 4432 阅读 · 0 评论 -
DBCC
DBCC是SQL Server提供的一组控制台命令,功能很强大,掌握一些必要的语句,对操作数据库有不少帮助,所以决定整理一下,发现已有不少类似的整理,减少了不少工作,归类如下: 一、DBCC 帮助类命令 * DBCC HELP('?') 查询所有的DBCC命令 * DBCC HELP('命令') 查询指定的DBCC命令的语法说明 * DBCC USEROPTIO转载 2017-08-09 15:50:02 · 314 阅读 · 0 评论 -
SQL Server游标的使用【转】
游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合的。而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服。 正常面向集合的思维方式是: 而对于游标来说: 这也是为什么游标是邪恶的,它会使开发人员变懒,懒得去想用面向集合的查询方式实现某些功转载 2017-06-30 13:58:42 · 302 阅读 · 0 评论 -
如何遍历一个结果集在 SQL Server 中使用 Transact-SQL
使用 Transact-SQL 语句来循环结果集有三种方法可用于循环一个结果集通过使用 Transact-SQL 语句。一种方法是使用 临时 表。 使用此方法,您创建初始 SELECT 语句的"快照"并将其用作基础的"指针"。 例如: /********** example 1 **********/declare @au_id char( 11 )se转载 2017-06-30 13:54:33 · 527 阅读 · 0 评论 -
SQL Server 中 RAISERROR 的用法
raiserror 是由单词 raise error 组成 raise 增加; 提高; 提升raiserror 的作用: raiserror 是用于抛出一个错误。[ 以下资料来源于sql server 2005的帮助 ] 其语法如下:RAISERROR ( { msg_id | msg_str | @local_variable }转载 2017-05-19 19:34:30 · 2264 阅读 · 0 评论 -
程序性能优化(包括数据库优化、服务器优化等)
开心一笑世界上最互相信任的两个人应该是初中老师和高中老师了。 初中老师:这个知识点到高中你们老师会讲的,你们现在不必要知道。 高中老师:这个知识点你们初中老师肯定讲过了,我就不讲了。 我:你TM在逗我吗???提出问题性能优化时候,应该从哪几方面入手???前言前一段时间一直在做性能调优的工作,颇有收获。因此,简单的总结并分享下研究成果。转载 2017-05-30 16:45:23 · 4118 阅读 · 2 评论 -
SQL Server函数大全
--聚合函数use pubsgoselect avg(distinct price) --算平均数from titleswhere type='business'go use pubsgoselect max(ytd_sales) --最大数from titlesgo use pubsgoselect min(ytd_sales) -转载 2017-02-03 10:56:00 · 1309 阅读 · 0 评论 -
SQL Server函数大全(三)----Union与Union All的区别
如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。union(或称为联合)的作用是将多个结果合并在一起显示出来。union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。Union:对两个结果集进行并集操作,不包括重复行,同时进行转载 2017-02-03 10:46:35 · 965 阅读 · 0 评论 -
sql server 判断表/视图/存储过程是否存在
--如果是实表可以用if exists (select * from sysobjects where id = object_id(N'[dbo].[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[表名]--如果是临时表可以用(说明,如果用查找实表方法来打临时表会找不到.发布区别对代.)i转载 2017-01-19 16:45:39 · 504 阅读 · 0 评论 -
修改Sql Server列属性时报错
有时我们修改Sql Server的列名,列属性时,会报错。解决方法如下:登录进入Sql Server之后,单击工具中的选项,将"阻止保存要求重新创建表的更改“这一属性打勾取消即可。原创 2015-11-18 15:38:26 · 778 阅读 · 0 评论 -
LIKE,CHARINDEX,IN,EXISTS 效率分析汇总(补充中)
比较上面哪些写法可以用到索引,从而提高查找效率说明:本篇所指的索引是:聚集索引查找、非聚集索引查找。而全表扫描、聚集索引扫描、非聚集索引扫描都不是走索引 1、LIKE,通过查询资料,如果是这种形式 SELECT * FROM 表 WHERE 字段 LIKE 'abc%',这种形式的写法可以用到索引。2、IN 一般能走索引原创 2015-11-13 14:24:22 · 999 阅读 · 0 评论 -
SQL Server中存储过程中使用IN遇到的问题
存储过程传in里面的参数的解决办法两种方法:1:charindex(','+ltrim(列名)+',',','+@s+',')>0 @s传进来的字符变量如31,32,33 2:exec('@sql') 动态执行组合的@sql串原创 2015-10-16 08:24:59 · 1000 阅读 · 0 评论 -
SQL SERVER 2008 中三种分页方法与比较
SQL SERVER 2008 中三种分页方法与比较,需要的朋友可以参考一下建立表:复制代码代码如下:CREATE TABLE [TestTable] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [FirstName] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS转载 2015-09-26 15:17:37 · 393 阅读 · 0 评论 -
SQL Server中存储过程比直接运行SQL语句慢的原因
在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点:1. 存储过程只在创造时进行编译即可,以后每次执行存储过程都不需再重新编译,而我们通常使用的SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。2. 经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作。当对数据库进行复杂操作时(如对多个表进行转载 2015-09-25 15:13:49 · 414 阅读 · 0 评论 -
ExecuteNonQuery()返回-1的问题及解决
最近在写一个程序的时候用到ExecuteNonQuery()执行 select,结果总是返回-1(因为我想通过影响的行数来判断数据库是否已经存在该数据),很是郁闷。后来查了一下msdn,发现原来是这样的。虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所转载 2015-09-25 14:28:47 · 1181 阅读 · 0 评论 -
SET NOCOUNT ON 作用
在存储过程中,经常用到SET NOCOUNT ON;作用:阻止在结果集中返回显示受T-SQL语句或则usp影响的行计数信息。当SET ONCOUNT ON时候,不返回计数,当SET NOCOUNT OFF时候,返回计数;即使当SET NOCOUNT ON 时候,也更新@@RowCount;当SET NOCOUNT on时候,将不向客户端发送存储过程每个语句的DONE_IN_转载 2015-09-26 14:39:04 · 263 阅读 · 0 评论 -
SQL Server设置主键自增长列
1.新建一数据表,里面有字段id,将id设为为主键create table tb(id int,constraint pkid primary key (id))create table tb(id int primary key )2.新建一数据表,里面有字段id,将id设为主键且自动编号create table tb(id int identity(1,1),cons转载 2015-08-28 09:45:28 · 4612 阅读 · 0 评论 -
c#中两种不同的存储过程调用与比较
存储过程的调用在B/S系统中用的很多。传统的调用方法不仅速度慢,而且代码会随着存储过程的增多不断膨胀,难以维护。新的方法在一定程度上解决了这些问题存储过程的调用在B/S系统中用的很多。传统的调用方法不仅速度慢,而且代码会随着存储过程的增多不断膨胀,难以维护。新的方法在一定程度上解决了这些问题。 在使用.NET的过程中,数据库访问是一个很重要的部分,特别是在B/S转载 2015-08-27 16:46:25 · 794 阅读 · 0 评论 -
存储过程的调用
以下是SQL中两个存储过程:CREATE PROCEDURE dbo.oa_selectalluser AS select * from UserInfoGOCREATE PROCEDURE dbo.oa_SelectByID @id intAS select * from UserInfo where ID=@idGO一个转载 2015-08-27 16:24:10 · 314 阅读 · 0 评论 -
SQL Server存储过程创建和修改
打开SQL Server 2005的管理工具,选中需要创建存储过程的数据库,找到“可编程性”,展开后可以看到“存储过程”。右键点击它,选择“新建存储过程”,右侧的编辑窗口打开了,里面装着微软自动生成的SQL Server创建存储过程的语句。将存储过程的名字,参数,操作语句写好后,点击语法分析,没有错误就直接“F5”运行就好了,存储过程创建完毕,以下是一个基本的存储过程的代码:1转载 2015-08-27 16:21:15 · 350 阅读 · 0 评论 -
JSP调用存储过程
先看一个简单的例子,这里用的是PL/SQL oracle 10g.首先建立一个存储过程,用于删除用户及与用户相关的信息create or replace procedure proc_person_data_clear(usercode in varchar,unitcode in varchar,newDate in varchar)/*usercode 删除人员转载 2015-08-11 22:18:52 · 2752 阅读 · 0 评论 -
SQL中的case when then else end用法
Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女'ELSE '其他转载 2015-09-26 14:55:58 · 266 阅读 · 0 评论 -
SQL Server分页存储过程的五种方法及性能比较
在SQL Server数据库操作中,我们常常会用到存储过程对实现对查询的数据的分页处理,以方便浏览者的浏览。本文我们总结了五种SQL Server分页存储过程的方法,并对其性能进行了比较,接下来就让我们来一起了解一下这一过程。创建数据库data_Test :create database data_Test GO use data_Test GO cre转载 2015-09-26 14:58:37 · 392 阅读 · 0 评论 -
In & Exists & Join 分析测试
测试In & Exists & Join 的性能 Step 1. 测试环境搭建Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)Enterprise Edition (64-bit) on Windows NT 6.1 1: -- IN & EXISTS & INNER JOIN转载 2015-11-13 11:05:19 · 298 阅读 · 0 评论 -
SQL Server 索引的创建和使用
什么是索引拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K 。为了加快查找的速度,汉语字(词)典一般都有按拼音、笔画、偏旁部首等排序的目录(索引),我们可以选择按拼音或笔画查找方式,快速查找到需要的字(词)。同理,SQL Server允许用户在表中创建索引,指定按某列预先排序,从而大大提高查询速度。•转载 2015-09-21 10:12:54 · 5819 阅读 · 0 评论 -
关于SQL语句中SUM函数返回NULL的解决办法
SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL。但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例如下面的方法来处理:SELECT COALESCE(SUM(name),0) FROM person WHERE id > 0行了,这下就不用费事去处理返回结果是否为N转载 2015-10-22 14:12:54 · 661 阅读 · 0 评论 -
SQL Server 性能调优(cpu)
研究cpu压力工具perfomSQL跟踪性能视图cpu相关的wait eventSignal wait timeSOS_SCHEDULER_YIELD等待CXPACKET等待CMEMTHREAD等待调度队列cpu密集型查询高CPU使用率的创建几种状况miss index统计数据丢失非SARG谓词隐式类型转化参数探测器ad hoc转载 2015-10-22 09:07:36 · 4974 阅读 · 0 评论 -
Oracle 的sql优化提高性能
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:转载 2015-10-22 08:56:15 · 265 阅读 · 0 评论