MS SQLDRVER学习应用几点总结
2011-12-09 12:41
197 查看
1、不支持从高类型转化到低类型
虽然 SQL Server 有时会将 tinyint 或 smallint 值提升为 int 数据类型,但是它不会自动将 tinyint、smallint 或 int 提升为 bigint。例如,如果参数表达式的数据类型是 tinyint 或 smallint,某些聚合函数会把返回值的数据类型升级为 int。而这些聚合函数将不会返回 bigint,除非参数表达式本身就是 bigint 类型。
当数据值一定要按照指定精确存储时,可以用带有小数的 decimal 数据类型来存储数字。
数据精度就是数中数字个数,小数位数是数中小数点右边的数字个数,binary、varbinary、和 image 数据类型的长度是字节数。如果两个数类型相同则结果集中为确定的类型,
如果不同,刚以数字型的精度优先。
2、关于货币型数据
1、在数据前一定要货币符号
2、小数点后最多4 位,友多则用decimal型
3、带豆号的,把money型转化为字符串,在加豆号输出
3、关于文件组
创建和更改默认文件组是为了防止不确定的用户自定义对象和在特定的用户自定义文件组中抢空间。
经测试,一个文件组可以跨多个磁盘,一个文件则只能在一个磁盘。
4、强行断开MS SQLSERVER所有用户连接。
use master
go
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_killspid]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_killspid]
GO
create proc p_killspid
@dbname varchar(200) --要关闭进程的数据库名
as
declare @sql nvarchar(500)
declare @spid nvarchar(20)
declare #tb cursor for
select spid=cast(spid as varchar(20)) from master..sysprocesses where dbid=db_id(@dbname)
open #tb
fetch next from #tb into @spid
while @@fetch_status=0
begin
exec('kill '+@spid)
fetch next from #tb into @spid
end
close #tb
deallocate #tb
go
--用法
exec p_killspid 'PMDB'
go
5、设定为单用户模式的语句:
EXEC SP_DBOPTION 'PMDB','SINGLE USER','TRUE'
6、MS SQL导出到excel语句
INSERT INTO OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 97-2000;HDR=YES;DATABASE=C:\TEST.XLS',Orders)。
虽然 SQL Server 有时会将 tinyint 或 smallint 值提升为 int 数据类型,但是它不会自动将 tinyint、smallint 或 int 提升为 bigint。例如,如果参数表达式的数据类型是 tinyint 或 smallint,某些聚合函数会把返回值的数据类型升级为 int。而这些聚合函数将不会返回 bigint,除非参数表达式本身就是 bigint 类型。
当数据值一定要按照指定精确存储时,可以用带有小数的 decimal 数据类型来存储数字。
数据精度就是数中数字个数,小数位数是数中小数点右边的数字个数,binary、varbinary、和 image 数据类型的长度是字节数。如果两个数类型相同则结果集中为确定的类型,
如果不同,刚以数字型的精度优先。
2、关于货币型数据
1、在数据前一定要货币符号
2、小数点后最多4 位,友多则用decimal型
3、带豆号的,把money型转化为字符串,在加豆号输出
3、关于文件组
创建和更改默认文件组是为了防止不确定的用户自定义对象和在特定的用户自定义文件组中抢空间。
经测试,一个文件组可以跨多个磁盘,一个文件则只能在一个磁盘。
4、强行断开MS SQLSERVER所有用户连接。
use master
go
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_killspid]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_killspid]
GO
create proc p_killspid
@dbname varchar(200) --要关闭进程的数据库名
as
declare @sql nvarchar(500)
declare @spid nvarchar(20)
declare #tb cursor for
select spid=cast(spid as varchar(20)) from master..sysprocesses where dbid=db_id(@dbname)
open #tb
fetch next from #tb into @spid
while @@fetch_status=0
begin
exec('kill '+@spid)
fetch next from #tb into @spid
end
close #tb
deallocate #tb
go
--用法
exec p_killspid 'PMDB'
go
5、设定为单用户模式的语句:
EXEC SP_DBOPTION 'PMDB','SINGLE USER','TRUE'
6、MS SQL导出到excel语句
INSERT INTO OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 97-2000;HDR=YES;DATABASE=C:\TEST.XLS',Orders)。
相关文章推荐
- 基础学习总结(六)--getContentRolver()的应用、内容监听者ContentObserver
- Logstash学习总结(二) INPUT应用实例1
- 【cocos2d-x 3.x 学习与应用总结】4: 理解CC_CALLBACK_0, CC_CALLBACK_1, CC_CALLBACK_2, CC_CALLBACK_3
- 20145308 《网络对抗》 MSF基础应用 学习总结
- Android应用开发学习总结(二)——新建项目与目录结构了解
- 设计模式学习总结系列应用实例
- 2016年11月28日学习总结----printf格式化输出的注意点及应用
- 20169205 2016-2017-2 《移动平台应用开发实践》第3周学习总结
- Android基础学习总结(五)——Toolbar、DrawerLayout与Palette应用
- Java基础学习总结(75)——Java反射机制及应用场景
- 20145308 《网络对抗》 MAL_后门应用与实践 学习总结
- CSS学习总结2-float应用场景
- Docker学习总结(16)——当当网Docker应用实践
- 对Hibernate学习几点总结
- Android开发学习总结(五)——Android应用目录结构分析
- 关于学习和应用Javascript及Ext Js的几点建议
- Hibernate3学习总结——第一课时 简单应用演示
- ORACLE基础应用学习-- 各种故障的恢复方法总结
- Java嵌入式数据库H2学习总结(三)——在Web应用中嵌入H2数据库
- 关于java中static关键字在单态设计模式的应用学习和总结