存档

‘MSSQL’ 分类的存档

解决sql server触发器的影响行数对程序的影响

2011年12月30日 冰点浏览次数(18) 没有评论

解决方法:
方法很简单,就是直接在触发器内关闭触发器的影响行数。使用如下语句:
set nocount on——-关闭影响行数
set nocount off——-打开影响行数

分类: C#/ASP.NET, MSSQL 标签: , ,

关于SQL不重复记录的总结

2011年8月23日 冰点浏览次数(21) 没有评论

打开不重复记录的单个字段

select distinct name from table

打开不重复记录的所有字段值

select * from table where fid in(Select min(fid) FROM table group by name)

打开不重复任意次数的所有记录

select * from table where name in(select name from table group by name having count(name)=1)
分类: MSSQL 标签: ,

妙用SQL Server聚合函数和子查询迭代求和

2011年6月22日 冰点浏览次数(30) 没有评论

先看看下面的表和其中的数据:

t_product

            图1

该表有两个字段:xh和price, 其中xh是主索引字段,现在要得到如下的查询结果:

    图2 阅读全文…

分类: MSSQL 标签: , , ,

SQL 遍历父子关系表(二叉树)获得所有子节点 所有父节点(转)

2011年6月22日 冰点浏览次数(52) 没有评论

–建立测试环境

Create Table A
(ID Int,
 fatherID Int,
 NameVarchar(10)
)
Insert A Select 1,        NULL,       ‘tt’
Union All Select 2,        1,          ‘aa’
Union All Select 3,        1,          ‘bb’
Union All Select 4,        2,          ‘cc’
Union All Select 5,        2,          ‘gg’
Union All Select 6,        4,          ‘yy’
Union All Select 7,        4,          ‘jj’
Union All Select 8,        7,           ‘ll’
Union All Select 9,        NULL,  ‘uu’
Union All Select 10,       9,         ‘oo’
GO
–建立函数 阅读全文…

分类: MSSQL 标签: , , ,

mssql行变列,列变行,使用 PIVOT 和 UNPIVOT

2011年6月22日 冰点浏览次数(96) 没有评论

表:

ID  RQ      DATA
A 2009-7-15 1W
B 2009-7-15 2W
C 2009-7-15 1W
D 2009-7-15 1.5W
A 2009-7-16 1.2W
B 2009-7-16 2.2W
C 2009-7-16 1.2W
D 2009-7-16 1.4W
我想查询后成为这种格式:
RQ            A        B   C      D
2009-7-15      1W       2W  1W     1.5W
2009-7-16      1.2W    2.2W 1.2W   1.4W 阅读全文…

分类: MSSQL 标签: , , , ,

表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列

2011年6月22日 冰点浏览次数(24) 没有评论
if object_Id('testTb')is not null drop table testTb
go
create table testTb (A int , B int ,C int)
insert into testTb
select 1,2,3 union all
select 1,3,2 union all
select 2,1,3 union all
select 3,1,4
select
     (case when A > B then A else B end) as E,
     (case when B > C then B else C end) as F
from testTb
drop table testTb
分类: MSSQL 标签: ,

SQL2005分区表相关sql

2011年4月15日 冰点浏览次数(23) 没有评论
创建组
--ALTER DATABASE HZ ADD FILEGROUP [GH1]
--ALTER DATABASE HZ ADD FILEGROUP [GH2]
--ALTER DATABASE HZ ADD FILEGROUP [GH3]
--ALTER DATABASE HZ ADD FILEGROUP [GH4]
--ALTER DATABASE HZ ADD FILEGROUP [GH5]
--ALTER DATABASE HZ ADD FILEGROUP [GH6]
--ALTER DATABASE HZ ADD FILEGROUP [GH7]
--ALTER DATABASE HZ ADD FILEGROUP [GH8]
--ALTER DATABASE HZ ADD FILEGROUP [GH9]
--ALTER DATABASE HZ ADD FILEGROUP [GH10]
--ALTER DATABASE HZ ADD FILEGROUP [GH11]
--ALTER DATABASE HZ ADD FILEGROUP [GH12]
创建数据库文件 阅读全文...
分类: MSSQL 标签: ,

sql往年工资累加查询

2011年3月24日 冰点浏览次数(77) 没有评论
nian         gz
2000     100
2001     200
2002     300
2003     400
第一种:select nian, (select sum(gz) from mp b where b.nian<= a.nian) gz from mp a group by nian
第二种:select b.id,sum(a.gz) from mp a,mp b where a.gz<=b.gz group by b.id 阅读全文...
分类: MSSQL, MYSQL 标签: ,

SQL语句:去掉重复值返回多列

2011年3月21日 冰点浏览次数(352) 没有评论

返回方法1:

排序:select * from (select min(id) as id,name from mp  group by name) as d order by d.id desc
    不排序: select min(id) as id,name from mp  group by name

返回方法2:

select * from mp t1  where  
not exists(select * from mp t where t1.name=t.name and t.id<t1.id) 

阅读全文…

C#获取局域网的sql server服务列表

2010年11月4日 冰点浏览次数(208) 没有评论

SqlDataSourceEnumerator instance =SqlDataSourceEnumerator.Instance;
System.Data.DataTable table = instance.GetDataSources();

System.Data.Sql.SqlDataSourceEnumerator.Instance.GetDataSources();

返回Datatable 阅读全文…

SQL操作全集

2010年11月4日 冰点浏览次数(54) 没有评论

下列语句部分是Mssql语句,不可以在access中使用。

SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)

首先,简要介绍基础语句: 阅读全文…

分类: MSSQL 标签: ,

数据库(增量恢复)

2010年11月4日 冰点浏览次数(117) 没有评论

           生产线的sqlserver数据库infoservice星期日做全盘备份,备份名为:infoservice_database.7,星期一做差异备份:infoservice_database.1,星期二:infoservice_database.2…
   对应的本地模拟库infoserviceonline要定期恢复,恢复顺序与备份顺序相反. 如今天是星期一,要先还原上个星期日的全盘备份,再还原今天的差异备份.
   本程序支持在数据库服务器恢复,也支持在工作站恢复.

sql: 阅读全文…

分类: MSSQL 标签: ,

SQLDMO类的使用

2010年11月4日 冰点浏览次数(71) 没有评论

         SQLDMO (SQL Distributed Management Objects,SQL分布式管理对象)封装 Microsoft SQL Server 2000 数据库中的对象。SQL-DMO 允许用支持自动化或 COM 的语言编写应用程序,以管理 SQL Server 安装的所有部分。SQL-DMO 是 SQL Server 2000 中的 SQL Server 企业管理器所使用的应用程序接口 (API);因此使用 SQL-DMO 的应用程序可以执行 SQL Server 企业管理器执行的所有功能。 阅读全文…

C#操作数据库备份和还原

2010年11月4日 冰点浏览次数(149) 1 条评论

C#实现SQLSERVER2000数据库备份还原的两种方法
: 方法一(不使用SQLDMO):

///
///备份方法
///
SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=sa;"); 阅读全文...
分类: C#/ASP.NET, MSSQL 标签: ,

C# 中直接执行sql文件

2010年11月4日 冰点浏览次数(160) 没有评论

第一种方法

最简单的方法就是调用 osql.exe .

具体方法如下(以sql server200 数据库为例):

            try
            {
                System.Diagnostics.Process pr = new System.Diagnostics.Process();
                pr.StartInfo.FileName = “osql.exe “;
                pr.StartInfo.Arguments = “-U sa -P sa -d master -s 127.0.0.1 -i Sql.sql”;
                pr.StartInfo.UseShellExecute = false;
                pr.StartInfo.RedirectStandardOutput = true;  //重定向输出
            
                pr.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;//隐藏输出窗口
                pr.Start();
               
                System.IO.StreamReader sr = pr.StandardOutput;
                Console.WriteLine(sr.ReadToEnd());
  
                pr.WaitForExit();
                pr.Close();
            }
            catch(Exception err)
            {
                MessageBox.Show(err.ToString());
            } 阅读全文…