12
2014
01

@@IDENTITY与SCOPE_IDENTITY()比较

 

 在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含语句生成的最后一个标识值。如果语句未影响任何包含标识列的表,则 @@IDENTITY 返回 NULL。如果插入了多个行,生成了多个标识值,则 @@IDENTITY 将返回最后生成的标识值。如果语句触发了一个或多个触发器,该触发器又执行了生成标识值的插入操作,那么,在语句执行后立即调用 @@IDENTITY 将返回触发器生成的最后一个标识值。如果对包含标识列的表执行插入操作后触发了触发器,并且触发器对另一个没有标识列的表执行了插入操作,则 @@IDENTITY 将返回第一次插入的标识值。出现 INSERT 或 SELECT INTO 语句失败或大容量复制失败,或者事务被回滚的情况时,@@IDENTITY 值不会恢复为以前的设置。

12
2014
01

SQL Server 中OpenDataSource、OPENQUERY、OPENROWSET用法

一、OpenDataSource

1.       操作SQL服务器数据,如SQL Server /Oracle等等

格式:

SELECT   top 10 *

FROM      OPENDATASOURCE(

03
2014
01

查询存储过程或视图的脚本

 如果要查询存储过程或试图的脚本,可以这样,一条语句搞定

 

select [TEXT] from  syscomments where id = object_id('V_REALDATA')

 

select [TEXT] from  syscomments where id = object_id('Proc_CreateLogicRun')

 

02
2014
01

SQL Server 查看数据库中表占用空间大小

 

一、
查看数据库表的大小的sql如下:
 
1. exec sp_spaceused '表名' --(SQL统计数据,大量事务操作后可能不准)
 
2. exec sp_spaceused '表名', true --(准确的表空间大小,但可能会花些统计时间)
 
3. exec sp_spaceused -- (数据库大小查询)
 
4. exec sp_MSforeachtable "exec sp_spaceused '?'" --(所有用户表空间表小 SQL统计数据,,大量事务操作后可能不准)
 
5. exec sp_MSforeachtable "exec sp_spaceused '?',true" --(所有用户表空间表小,大数据库慎用)

31
2013
12

SQL Server判断文件是否存在

 一、xp_cmdshell很方便

declare @retval int
exec @retval = master..xp_cmdshell 'dir "C:\Program Files" /a', no_output
if @retval = 0
    print 'C:\Program Files 存在。'
else
    print 'C:\Program Files 不存在。'

 

31
2013
12

SQL Server自动备份并压缩文件

 执行备份的命令:

declare @filename varchar(200)
set @filename='D:\'+convert(char(10),getdate(),120)+'.bak'  --设置备份文件的路径和文件名
print @filename
backup database[DatabaseName] to disk=@filename with NOINIT,NOUNLOAD,NAME='backup',NOSKIP,STATS=10,NOFORMAT  --执行备份

 

20
2013
08

SQLite 获取当前系统时间

 

16
2013
08

SQL Server查询前20个io读取开销最大的SQL语句

 

SELECT TOP 20 SUBSTRING(qt.text, (qs.statement_start_offset/2)+1, 

16
2013
08

SQL Server 查询耗时最长的SQL语句

 

SELECT  creation_time  N'语句编译时间'

02
2013
08

SQL Server中通配符的使用

 

--建临时表
create table #
( a int,
 b varchar(10)
)
insert into #
select 1,'abd' union all
select 2,'b89d' union all
select 3,'poi9' union all
select 4,'AVB90' union all
select 5,'abcde'union all
select 6,'123123'