设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1779|回复: 0

SQL Server 常用代码块

[复制链接]

40

主题

378

金钱

580

积分

初级用户

发表于 2019-4-2 15:30:24 | 显示全部楼层 |阅读模式

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

  1. update <table name》
  2. set column = <column> [, column = <column>]
  3. [where <restrictive condition> ]
复制代码


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

  1. update A
  2. set A.Column1 = B.Column1, A.Column2 = B.Column2, A.Column3 = B.Column3
  3. from A, B
  4. where A.Column = B.Column
复制代码


2. 使用 SELECT 语句创建表
SQLSERVER 中的语法是:

  1. select * into <dst table name>
  2. from <src table name>
复制代码


3. DELETE 语句
SQL Server 不带别名的 DELETE 语句的语法是

  1. delete from <table name>
  2. [ where <restrictive condition> ]
复制代码


带有别名的 delete 语句的语法如下:
  1. delete <alias>
  2. from <table name> <alias>
  3. where <restrictive condition>
复制代码


4. 锁表查询及解锁
  1. select request_session_id as spid, OBJECT_NAME(resource_associated_entity_id) as tableName
  2. from sys.dm_tran_locks
  3. where resource_type='OBJECT'

  4. ---或者

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

  9. --kill spid
复制代码


5. 查询包含给定文本的存储过程
  1. select o.name, o.id,c.text
  2. from sysobjects o,syscomments c
  3. where o.id=c.id and  c.text like '%Test%'
复制代码


6. 使用 checksum 函数比较两条数据是否完全相同
返回在表的一行上或在表达式列表上计算的校验和值。CHECKSUM旨在用于构建散列索引。
句法:
  1. CHECKSUM ( * | expression [ ,...n ] )  
复制代码


参数
指定计算在表格的所有列上。如果任何列是不可比的数据类型,CHECKSUM将返回一个错误。不可比较的数据类型是文本,ntext,图像,XML和游标,还有以任何一种前述类型作为其基本类型的sql_variant。
  1. -- 字段顺序不同也会导致最终返回的值不同
  2. select checksum('a', 'b', 'c')   -- 34400
  3. select checksum('c', 'a', 'b')   -- 39023
复制代码


7. SYSPROCESSES 查看数据库连接
  1. SELECT at.text,sp.*  FROM[Master].[dbo].[SYSPROCESSES] sp  
  2. CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS at
复制代码


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

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

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

每个连接的详细信息在sp.*中详细说明。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表