SQL Server重温——事务
摘要:为什么使用事务 当对多个表进行更新的时候,某条执行失败。为了保持数据的完整性,需要使用事务回滚。显示设置事务 begin try begin transaction insert into shiwu (asd) values ('aasdasda'); commit transaction end try begin catch select ERROR_NUMBER() as errornumber rollback transaction end catch隐式设置事务set implicit_transactions on; -...
阅读全文
SQL Server重温——视图、存储过程
摘要:视图视图实际上是一个或多个表的查询结果,视图集中显示数据,方便了用户的查询。视图的优点: 1.数据保密 2.简化查询 3.保证数据的逻辑独立视图的缺点:更新视图是对基本表的数据进行更新,某些视图不能更新数据 1.有Union等集合操作的视图 2.有group by子句的视图 3.使用avg,sum,max等函数的视图 4.使用distinct关键字的视图 5.连接表视图常用操作: 添加 create view v_name 修改 clter view v_name 删除 drop view v_name 查看视图定义 exec sp_helptext 'v_name' ...
阅读全文
SQL Server重温——索引
摘要:索引的代价1.增加、更改、删除索引都会维护2.索引占据一定的物理空间建立索引的原则1.主键一定要建立索引2.外键一定要建立索引3.对于经常查询的数据最好建立索引 a.对于范围数据,可以利用索引排序加快查询时间 b.将索引建立在where子句的集合过程中4.查询很少涉及到的列、重复值多的列不要建立索引5.数据量大、或小的列不要建立索引索引分类1.聚集索引(物理排序)(只有一个)2.非聚集索引(无物理排序)(249个)3.唯一索引(对数据的唯一约束)索引的分析1.showplan_all(显示查询计划) demo:set showplan_all on2.statistics io(检...
阅读全文
SQL Server重温——约束、默认、规则
摘要:约束1.check约束 2.default约束 3.主键约束(复合主键,由多列确定唯一性) 4.外键约束 5.unique约束(唯一约束)外键约束用于加强两个表之间的连接 如,增、删、改(两表之间的依赖)主键约束和unique约束的共同点 1.确定数据的唯一 2.都支持多列确定唯一性主键约束和unique约束的区别 1.主键不允许为空,unique约束可为空 2.主键只有一个,unique约束可以有多个---------------------------------------------------------------默认貌似默认只能用代码的方式创建--创建默认 create...
阅读全文
存储过程使用shell脚本执行sql文件
摘要:今天接到的需求是把所有表的创建写到储存过程里面。收到创建表的脚本之后就傻了,60-70个表,还包含存储过程、视图等。那么如何解决呢。思路就是在存储过程里面使用shell脚本执行sql脚本文件。通过MSDN得到执行shell的函数:xp_cmdshell。下面是完整的脚本:CREATE PROCEDURE CreatTable ( @UserName varchar(200), @PassWord varchar(200), @FilePath varchar(200), @Trusted bit)ASBEGIN SET NOCOUNT ON; declare @shell varchar(ma
阅读全文
存储过程中调用webservice
摘要:今天老外给了个如标题所示的变态需求。我找了很长时间才找到解决方法,留下以下笔记。存储过程中调用webservice其实是在数据库中利用系统函数调用OLE.1.查找webservice api 可得到MSSOAP.SoapClient。2.查找API 接口可得到mssoapinit 方法。3.查找数据库中执行OLE函数sp_OACreate、sp_OAMethod、sp_OADestroy。到这里基本就完成了,下面是完整的存储过程。--set SoapClient to be worksp_configure 'Ole Automation Procedures',1 recon
阅读全文