SQL Server的知识点总结,不断更新中....

1、触发器的定义:建议不要用Trigger,否则出了问题不好找原因。

create trigger DotChangeGenderTable
on PersonGender
for/after/instead of(在之前触发)/ insert,update,delete
as
print '不许动这个性别信息表!!!'
rollback
go

create trigger checkage
on Person
for update,insert
as
declare @tmpage int
set @tmpage = (select page from inserted)
if(@tmpage<15 or @tmpage>153)
begin
 print '年龄数据不合理,请检查后再度加入,语句已终止!'
 rollback
end
else
begin
 print '添加数据成功!'
 --rollback
end
go

2、在一个Server上建立对另外一个DB Server的连接:

---------------sp_addlinkedserver------------
Exec sp_droplinkedsrvlogin DBVIP,Null
Exec sp_dropserver DBVIP

--EXEC  sp_addlinkedserver
--      @server='DBVIP',--被访问的服务器别名
--      @srvproduct='',
--      @provider='SQLOLEDB',
--      @datasrc='Server2'   --要访问的服务器

-- sp_addlinkedserver
--[ @server= ] 'server'
--[ , [ @srvproduct= ] 'product_name' ]       
--[ , [ @provider= ] 'provider_name' ]      
--[ , [ @datasrc= ] 'data_source' ]       
--[ , [ @location= ] 'location' ]       
--[ , [ @provstr= ] 'provider_string' ]       
--[ , [ @catalog= ] 'catalog' ]

EXEC  sp_addlinkedserver
      'DBVIP',--被访问的服务器别名
      '',
     'SQLNCLI',
--      'SQLOLEDB',
      'DstServer'   --要访问的服务器


--sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname'
--     [ , [ @useself = ] 'TRUE' | 'FALSE' | 'NULL']
--     [ , [ @locallogin = ] 'locallogin' ]
--     [ , [ @rmtuser = ] 'rmtuser' ]
--     [ , [ @rmtpassword = ] 'rmtpassword' ]

EXEC sp_addlinkedsrvlogin
     'DBVIP', --被访问的服务器别名
     'false',
     NULL,
     'sa', --帐号
     'sa' --密码

Select   *   from DBVIP.TestDB.DBO.TestTable where ID<10
--------------------------END------------------

3、ADO.NET中取得SQL控制台输出信息,如Print内容:

Handle the SqlConnection.InfoMessage event

4、About TRANSACTION:

 BEGIN TRANSACTION :标记一个显式本地事务的起始点。BEGIN TRANSACTION 使 @@TRANCOUNT 按 1 递增。

COMMIT TRANSACTION : 标 志一个成功的隐性事务或显式事务的结束。如果 @@TRANCOUNT 为 1,COMMIT TRANSACTION 使得自从事务开始以来所执行的所有数据修改成为数据库的永久部分,释放事务所占用的资源,并将 @@TRANCOUNT 减少到 0。如果 @@TRANCOUNT 大于 1,则 COMMIT TRANSACTION 使 @@TRANCOUNT 按 1 递减并且事务将保持活动状态。

ROLLBACK TRANSACTION:将显式事务或隐性事务回滚到事务的起点或事务内的某个保存点。

 总结:rollback 将回滚所有的transaction,commit 只是提交最近一个transaction。不管后面用什么transaction name参数。
 

转载于:https://www.cnblogs.com/clark/archive/2009/01/16/1376983.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值