02
2013
08

SQL Server数据导入导出工具BCP详解

 

bcpSQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。bcp可以将数据库的表或视图直接导出,也能通过SELECT FROM语句对表或视图进行过滤后导出。在导入导出数据时,可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件中。下面将详细讨论如何利用bcp导入导出数据。

02
2013
08

@@ROWCOUNT 返回受上一语句影响的行数,使用示例

 

--递归
--@@ROWCOUNT 返回受上一语句影响的行数。
declare @t1 table(col1 varchar(4),col2 varchar(4))
insert into @t1 select 'A','a'
insert into @t1 select 'A','b'
insert into @t1 select 'B','b'
insert into @t1 select 'C','a'
insert into @t1 select 'C','c'
insert into @t1 select 'D','e'
insert into @t1 select 'E','g'

02
2013
08

SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY 比较

 

SCOPE_IDENTITYIDENT_CURRENT  @@IDENTITY 是相似的函数,因为它们都返回插入到标识列中的值。

 

IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。

02
2013
08

sql_server_经典脚本_数据库复制

 

/*========== 生成月结数据库 ==========*/
/*--要求描述

 数据库名格式为: xxYYYYMM,即指定的前缘xx+年月
 要求在每个月末自动复制本月数据库,生成下个月的空数据库
--*/

--方法1. 备份+恢复
use master
go

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_ProcCopyDb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sp_ProcCopyDb]
GO

02
2013
08

SQL Server删除重复行

 

SQL Server 的处理办法

 

-- 首先创建测试表
CREATE TABLE test_delete(
  name  varchar(10),
  value INT
);
go

-- 测试数据,其中 张三100 与 王五80 是完全一样的
INSERT INTO test_delete
SELECT '张三', 100
UNION ALL SELECT '张三', 100
UNION ALL SELECT '李四', 80
UNION ALL SELECT '王五', 80
UNION ALL SELECT '王五', 80
UNION ALL SELECT '赵六', 90
UNION ALL SELECT '赵六', 70
go

02
2013
08

SQLSERVER统计库中所有表的行数

 

SQLSERVER统计库中所有表的行数 

 

如何统计库中所有表的行数?!

网上海搜了一通才发现原来有个系统存储过程可以调用:sp_msforeachtable

 

具体使用方法如下:

 //创建临时表

create   table   ##RowCount(   
  tableName varchar(500),   
  dataCount int   
  )   
  

20
2013
05

SQL Server中GROUPING用法


--GROUPING
--是一个聚合函数,它产生一个附加的列,当用 CUBE 或 ROLLUP 运算符添加行时,附加的列输出值为1,当所添加的行不是由 CUBE 或 ROLLUP 产生时,附加列值为0。

--仅在与包含 CUBE 或 ROLLUP 运算符的 GROUP BY 子句相联系的选择列表中才允许分组。