SQL Server 常用代码块

1. UPDATE 语句

不带别名的 UPDATE 语句的语法如下:

update <table name》
set column = <column> [, column = <column>]
[where <restrictive condition> ]

如果 update 语句的 where 条件较复杂,或者要更新的值来源于另外一个表时,可以使用带有别名的 update 语句。

带有别名的 update 语句语法如下:

update A 
set A.Column1 = B.Column1, A.Column2 = B.Column2, A.Column3 = B.Column3 
from A, B 
where A.Column = B.Column

2. 使用 SELECT 语句创建表

SQLSERVER 中的语法是:

select * into <dst table name>
from <src table name>

3. DELETE 语句

SQL Server 不带别名的 DELETE 语句的语法是
delete from <table name>
[ where <restrictive condition> ]
带有别名的 delete 语句的语法如下:
delete <alias> 
from <table name> <alias>
where <restrictive condition>

4. 锁表查询及解锁

select request_session_id as spid, OBJECT_NAME(resource_associated_entity_id) as tableName
from sys.dm_tran_locks
where resource_type='OBJECT'

---或者

select spid, blocked, loginame, last_batch, status, cmd, hostname, program_name  
from sysprocesses  
where spid in  
( select blocked from sysprocesses where blocked <> 0 ) or (blocked <>0)  

--kill spid

5. 查询包含给定文本的存储过程

select o.name, o.id,c.text
from sysobjects o,syscomments c
where o.id=c.id and  c.text like '%Test%'

6. 使用 checksum 函数比较两条数据是否完全相同

返回在表的一行上或在表达式列表上计算的校验和值。CHECKSUM旨在用于构建散列索引。
句法:
CHECKSUM ( * | expression [ ,...n ] )  

参数
指定计算在表格的所有列上。如果任何列是不可比的数据类型,CHECKSUM将返回一个错误。不可比较的数据类型是文本,ntext,图像,XML和游标,还有以任何一种前述类型作为其基本类型的sql_variant。


-- 字段顺序不同也会导致最终返回的值不同
select checksum('a', 'b', 'c')   -- 34400
select checksum('c', 'a', 'b')   -- 39023

7. SYSPROCESSES 查看数据库连接

SELECT at.text,sp.*  FROM[Master].[dbo].[SYSPROCESSES] sp  
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS at  

以上语句作用:

查询客户端进程PID 为3616的程序,与此数据库的所有的连接数,每个连接最后执行的语句以及每个连接的详细信息。


进程PID 可以在任务管理器中进行查看。

连接最后执行的语句是text列的详细信息。

每个连接的详细信息在sp.*中详细说明。




本文参考: SYSPROCESSES 查看连接

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值