易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 :

SQL Server中的行列倒置技巧

行列倒置在sql server中是一种很常见的技巧,在做应用系统的时候,经常需要做一些统计功能避免不了使用行列倒置这个技巧,我小小的做了一下总结:
第一种:sql server 2000中使用case进行行列倒置
create table RowCellConvertTest
(
 grade varchar(50),
 sex varchar(50),
 studentCount int
)
go
insert into RowCellConvertTest
select '一年级','男',100 union all
select '一年级','女',200 union all
select '二年级','男',100 union all
select '二年级','女',100 union all
select '三年级','男',200 union all
select '三年级','女',200
go
select * from RowCellConvertTest
go
--利用SQL Server 2000的case将行转换成列
declare @sql varchar(max)
set @sql = 'select grade'
select @sql=@sql+ ',sum(case when sex = '''+sex+''' then studentCount else '''' end) as '''+sex+'''' from RowCellConvertTest group by sex
--select @sql = substring(@sql,2,len(@sql))
--print @sql
select  @sql = @sql +'from RowCellConvertTest group by grade'
exec(@sql)
go
drop table RowCellConvertTest
go
......

sql 添加删除分区

sql 添加新分区
ALTER PARTITION SCHEME SCH_Source_ID_DT_ID  
 NEXT USED sn3 
 go
 
 ALTER PARTITION FUNCTION [PF_Source_ID_DT_ID]()  
    SPLIT RANGE ('350000') 
删除分区
编辑
ALTER PARTITION FUNCTION [PF_Source_ID_DT_ID]()  
    MERGE RANGE (380000)
......

SQL Server 2008 对 T SQL 语言的增强

Microsoft SQL Server 2008 对 T-SQL 语言进行了进一步增强。为了让开发人员尽快了解这些变化,我们针对 2007 年 6 月 CTP 版本的 SQL Server 2008 中的 T-SQL 语言的新增功能进行了分析和尝试。本文描述自 SQL Server 2008 CTP1 以来这些语言增强和变化。
  本文包含如下内容:
  · T-SQL 行构造器
  · FORCESEEK 表提示
  · GROUPING SETS
  · 兼容性级别
  · 用户自定义表数据类型
  · 表值参数
  · MERGE 语句
  本文适用于:Microsoft)R) SQL Server(TM) 2008 Developer Edition June 2007 CTP
  1、T-SQL 行构造器
  T-SQL 行构造器(Row Constructors)用来在 INSERT 语句中一次性插入多行数据。例如:
CREATE TABLE #a
(
  Column1 nvarchar(max),
  Column2 nvarchar(max)
);
GO
INSERT INTO #a
VALUES (
('1', '1'),
('2', '2')
);
SELECT * from #a;
GO
DROP TABLE #a;
GO
  经过增强后的 INSERT 语句的语法结构如下。
[ WITH <common_table_expression> [ ,...n ] ]
INSERT
  [ TOP ( expression ) [ PERCENT ] ]
  [ INTO ]
  { <o ......

实例名 (SQL Server Express)

使用 Microsoft SQL Server 安装向导的"实例名"页,可指定创建默认实例还是创建 SQL Server Express 命名实例。除非您选择默认实例,否则 SQL Server Express 将始终安装命名实例 (SQLExpress)。此行为与 SQL Server 2005 不同,后者在未选择命名实例的情况下,将始终安装默认实例。
 选项
选项
说明
默认实例
如果选择"默认实例",而计算机上已经存在默认实例,则 SQL Server 安装程序将升级该默认实例。请选择此选项来安装 SQL Server Express 的默认实例。一台计算机只能承载一个默认实例。
注意:默认实例名为 MSSQLSERVER;它不需要客户端指定实例名称即可建立连接。
若要升级早期 SQL Server 安装的默认实例,请单击"默认实例",然后单击"下一步"。
命名实例
运行 SQL Server Express 时,默认情况下将选中已命名的实例选项,并且实例名为 SQLExpress。
请选择此选项来创建新命名实例。命名 SQL Server 实例时,请考虑以下事项:
实例名不区分大小写。
实例名不能包含 Default、MSSQLServer 或其他保留关键字。如果在实例名中使用了保留关键字,则将发生错误。
实例名限制为 16 个字符。
实例名的首字符必须是字母或下划线 (_)。可接受的 ......

讲解MSSQL数据库中SQL锁机制和事务隔离级别

锁机制
NOLOCK和READPAST的区别。
1. 开启一个事务执行插入数据的操作。
BEGIN TRAN t
INSERT INTO Customer
SELECT 'a','a'
2. 执行一条查询语句。
SELECT * from Customer WITH (NOLOCK)
结果中显示"a"和"a"。当1中事务回滚后,那么a将成为脏数据。(注:1中的事务未提交) 。NOLOCK表明没有对数据表添加共享锁以阻止其它事务对数据表数据的修改。
SELECT * from Customer
这条语句将一直死锁,直到排他锁解除或者锁超时为止。(注:设置锁超时SET LOCK_TIMEOUT 1800)
SELECT * from Customer WITH (READPAST)
这条语句将显示a未提交前的状态,但不锁定整个表。这个提示指明数据库引擎返回结果时忽略加锁的行或数据页。
3. 执行一条插入语句。
BEGIN TRAN t
INSERT INTO Customer
SELECT 'b','b'
COMMIT TRAN t
这个时候,即使步骤1的事务回滚,那么a这条数据将丢失,而b继续插入数据库中。
NOLOCK
1. 执行如下语句。
BEGIN TRAN ttt
SELECT * from Customer WITH (NOLOCK)
WAITFOR delay '00:00:20'
COMMIT TRAN ttt
注:NOLOCK不加任何锁,可以增删查改而不锁定。
INSERT INTO Customer SELECT 'a','b' –不锁定
......

讲解MSSQL数据库中SQL锁机制和事务隔离级别

锁机制
NOLOCK和READPAST的区别。
1. 开启一个事务执行插入数据的操作。
BEGIN TRAN t
INSERT INTO Customer
SELECT 'a','a'
2. 执行一条查询语句。
SELECT * from Customer WITH (NOLOCK)
结果中显示"a"和"a"。当1中事务回滚后,那么a将成为脏数据。(注:1中的事务未提交) 。NOLOCK表明没有对数据表添加共享锁以阻止其它事务对数据表数据的修改。
SELECT * from Customer
这条语句将一直死锁,直到排他锁解除或者锁超时为止。(注:设置锁超时SET LOCK_TIMEOUT 1800)
SELECT * from Customer WITH (READPAST)
这条语句将显示a未提交前的状态,但不锁定整个表。这个提示指明数据库引擎返回结果时忽略加锁的行或数据页。
3. 执行一条插入语句。
BEGIN TRAN t
INSERT INTO Customer
SELECT 'b','b'
COMMIT TRAN t
这个时候,即使步骤1的事务回滚,那么a这条数据将丢失,而b继续插入数据库中。
NOLOCK
1. 执行如下语句。
BEGIN TRAN ttt
SELECT * from Customer WITH (NOLOCK)
WAITFOR delay '00:00:20'
COMMIT TRAN ttt
注:NOLOCK不加任何锁,可以增删查改而不锁定。
INSERT INTO Customer SELECT 'a','b' –不锁定
......

Ms sql日期时间计算处理大全(吐血推荐)!

这篇文章共分三个部分,收集了在互联网上用来处理MSSQL日期时间的几种方法。这里按我收集的先后排列。
第一部分:SQL的本月统计和本周统计
本月统计(MySQL)
select * from booking where month(booking_time) = month(curdate()) and year(booking_time) = year(curdate())
本周统计(MySQL)
select * from spf_booking where month(booking_time) = month(curdate()) and week(booking_time) = week(curdate())
[SQLServer]
表名为:tableName
时间字段名为:theDate
查询本月的记录
select * from tableName where DATEPART(mm, theDate) = DATEPART(mm, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
查询本周的记录
select * from tableName where DATEPART(wk, theDate) = DATEPART(wk, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
查询本季的记录
select * from tableName where DATEPART(qq, theDate) = DATEPART(qq, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
select datediff(day,
 dateadd(mm, datediff(mm,'''',getdate()), ''''),
 dateadd(mm, datediff(mm,' ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [1060] [1061] [1062] [1063] 1064 [1065] [1066] [1067] [1068] [1069]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号