SqlServer和Oracle中一些常用的sql语句10 特殊应用

--482, ORACLE / SQL SERVER--订购数量超过平均值的书籍WITH Orders_BookAS ( SELECT Book_Name, SUM(Qty) Book_Qty FROM Orders GROUP BY Book_Name )SELECT *FROM Orders_BookWHERE Book_Qty > …… 阅读全文

Sql Server合并多行询数据到一行:使用自连接、FOR XML PATH('')、STUFF或REPLACE函数

示例表 tb 数据如下id value—————1 aa1 bb2 aaa2 bbb2 cccSELECT id, [val] = ( SELECT [value] + ',' FROM tb AS b WHERE b.id = a.id FOR XML PATH('') …… 阅读全文

SQL SERVER 查看日志大小及日志已满的处理方法 (转)

--解决方法--日志文件满而造成SQL数据库无法写入文件时,可用两种方法:--清空日志。--1.打开查询分析器,输入命令DUMP TRANSACTION 数据库名 WITH NO_LOG--2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库----收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以 …… 阅读全文

启用事务操作,解决批量插入或更新sqlite,mssql等数据库耗时问题

private void btnImport_Click(object sender, EventArgs e) { string filePath = textBox1.Text; string importPwd = txtPwd.Text; if (string.IsNullOrEmpty(filePat …… 阅读全文

BULK INSERT如何将大量数据高效地导入SQL Server

在实际的工作需要中,我们有时候需将大量的数据导入到数据库中。这时候我们不得不考虑的就是效率问题。本文我们就介绍了一种将大量数据高效地导入SQL Server数据库的方法,该方法是使用BULK INSERT来实现的,接下来就让我们来一起了解一下这部分内容。源数据(文本文件)下载了大量的股票历史数据,都是文本格式的:每个文件第一行包含股票代码,股票名称,数据类型.第二行是数据列 …… 阅读全文

C#调用存储过程带输出参数或返回值

CREATE PROCEDURE [dbo].[GetNameById] @studentid varchar(8), @studentname nvarchar(50) OUTPUTASBEGIN SELECT @studentname=studentname FROM student WHERE studentid=@studentid if @@Error<>0 RE …… 阅读全文

在SQL中用正则表达式替换html标签(2)

由于数据库的一个表字段中多包含html标签,现在需要修改数据库的字段把html标签都替换掉。当然我可以通过写一个程序去修改,那毕竟有点麻烦。直接在查询分析器中执行,但是MS SQL Server并没有提供正则表达式,替换html标签可不那么容易。我们可以通过CLR托管来实现一个通过正则表达式来替换html标签的自定义函数。(注:SQL CLR只能在MS SQL Server 2005或以上版本中适 …… 阅读全文

压缩SQLServer数据库日志的一个存储过程

use master --注意,此存储过程要建在master数据库中goif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_compdb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [dbo].[p_compdb]GO …… 阅读全文