T-SQL的事务、索引和视图 - Angel's Blog.

ing
 
 
软件开发,程序设计,前端设计
 
 
首页 > code > T-SQL的事务、索引和视图

T-SQL的事务、索引和视图

 
事务:
当一件事务成功了,我们需要将这个事务提交并且commit(提交)保存,成为数据库永久的一部分。
如果一件事务有错误产生,将会有rollback(回滚)的操作,其被修改的部分也将被rollback(回滚)。
所以,在事务的执行中,要么就是完全通过且提交事务,要么就是出现错误而回滚整个操作不执行修改提交。
数据库的事务(ACID):
1)原子性–任何元素都会影响整个事务
2)一致性–完整性
3)隔离性–执行一个实体
4)永久性–提交后无法撤消修改
TransAct-SQL中使用如下的语句:
1)begin transAction–开始事务
2)rollback transAction–回滚事务
3)commit transAction–提交事务
事务分类:
1)显式事务
2)隐式事务
3)自动提交事务–例如:包含标识列的一行数据,违反check 约束。
事务的实例demo1,假设我们已经创建好了一个stores 数据库:
demo1:
use stores
go
create table payment
(
  UserName char(10),
  cash money
)
go
insert into payment values (‘小明’,’1000′)
insert into payment values (‘店家小二’,’5000′)
go
alter table payment
add constraint CK_payment check (cash>=1)
print ‘ ‘
print ‘查看付款前的余额:’
select * from payment
go
begin transAction
declare @errorCount int
set @errorCount = 0
update payment set cash = cash-500 where UserName=’小明’
set @errorCount = @[email protected]@error
update payment set cash = cash+500 where UserName=’店家小二’
set @errorCount = @[email protected]@error
print ‘ ‘
print ‘查看付款过程中的余额:’
select * from payment
if (@errorCount<>0)
begin
  print ‘付款失败,交易操作回滚!’

rollback transAction

end
else
begin
  print ‘付款成功,交易操作提交!’

commit transAction

end
go
print ‘ ‘
print ‘查看付款后的余额:’
select * from payment
go
创建索引:
索引的建立,有利于快速地查找;
使用T-SQL创建索引的语法:
create [约束/可选] [(Non)/Clustered] index 索引名
on 表名 (列名(,..))
(with/依据情况选择是否有with)
 fillfactor = 30(默认)
所以,上述中的索引分为:
1)唯一索引(unique,可选)
2)主键索引
3)聚集索引与非聚集索引(Clustered/NonClustered)
索引的使用,一般用语此列频繁地搜索;此列对数据的排序。
索引不适宜给小型表,且索引的使用对于非查询(增、删、改)操作将会变慢。
创建视图:
视图是一种查看数据库中的表数据内容的方法,可以查看一个表或者多个表的内容。是由一条T-SQL语句构成,并非是一个实际存在的表。
使用T-SQL创建视图:
create view 视图名
as 
 select 列1(,列2,列3…) from 表
或者
create view 视图名
as
 select 列1(,列2,表1.列3…) from 表1 left join 表2
on 表1.列3 = 表2.列2
select * from 视图名
或者通过RSS 关注本站的更新 ^ O ^ 。” —  by  转载请注明:来自 Angel's Blog.
本文永久链接: http://www.0ee.com/2010/09/02/t_sql_transaction_index_view_share.html
 
分类: code标签:
 
  • QQ书签
  • Del.icio.us
  • 百度收藏
  • Google
  • 饭否
  • FriendFeed
 

 
评论 (0) Trackbacks (0)
发表评论 Trackback
 
No Comment Contributed by Visitors
(Got a sofa?)
  1. 本文目前尚无任何评论.
Leave Comments Here...

:) :-D :( :-o 8-O :-? 8) lol :-x :-P oops cry evil twisted wink ? idea :-| arrow mrgreen roll !

(required)

(required)

网址随您("http://"可以省略)

(Ctrl+Enter)

  • 本站不会泄露您的 Email 地址, 敬请放心.
  • 本站已开启缓存, 请不要重复提交评论.
  • 请注意: 带有 《广告(链)、不健康、或者 产品名字》 的评论一律视为spam.
  • 支持常用 HTML 标签调用, 插入 HTML 标签需注意: < == &lt;> == &gt;.
  • 仅当某人针对您的评论做出回应时, 您才会收到由本站发出的邮件通知.
  • 如您希望以相同方式通知某位网友, 请点击  按钮进行回复.
  • 允许在评论中使用如下代码: 
    <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> 
    <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> 
    .
  • 鼠标悬浮到评论中的 @someone 区域即可自动显示 someone 的评论内容.
 
 
  • 正在加载...