在一次测试过程中,发现有些表一直被锁定,从网上搜集了下资料,可以使用一下语句查看数据库中那些表正被锁定: select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT'…
我们有时候会需要查询数据库中包含某字段的所有的表,去进行update,这时就可以用下面的SQL来实现: select object_name(id) objName,Name as colName from syscolumns where (name like'%此次写需要查询的字段名称%')and id in(select id from sysobjects where xtype='u')order by objname; 当然也可以使用游标,把查询出来的Table串接起来,如下: DE…
select a.name,b.rows from sysobjects a,sysindexes b where a.name = b.name order by b.rows desc…
SELECT a.name, b.rows FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE (a.type = 'u') AND (b.indid IN (0, 1)) ORDER BY a.name,b.rows DESC…
方法一: SELECT a.name,b.rows FROM sysobjects a INNER JOIN sysindexes b ON a.id=b.id ,) AND a.Type='u' ORDER BY b.rows desc 方法二: ), RowCnt INT) EXEC sp_MSforeachtable 'INSERT INTO #temp SELECT ''?'', COUNT(*) FROM ?' select * from #temp order by RowCnt d…
原文地址:http://blog.csdn.net/pukuimin1226/article/details/7687538 ----查询数据库中用户创建的表 ----jsj01 为数据库名 select name tablename from jsj01..sysobjects where type='U' and name not in ('dtproperties') --查询表里的字段信息 exec sp_help 对象名 ---docs为表名 select * from syscolu…
--SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int --关键说明:--1.从系统表syscolumns中的查询所有xtype='48'的记录得到类型为[tinyint]的字段--2.更新字段类型前如果该字段有默认值索引则应先删除掉对应的索引--3.数据表字段数据类型为tinyint在CodeSmith中读出来的是DbType.Byte类型,需要修正 declare @TableName nvarchar(250) --声明读取数据库所有数据表名称游标mycursor1de…
查询出来的结果中各字段的详细说明参考MSDN资料:https://msdn.microsoft.com/zh-cn/library/ms188776.aspx 如果只是查询数据库的大小的话,直接使用以下语句即可: EXEC sp_spaceused 为了保证查询结果的实时性,推荐使用 @updateusage 参数来确保统计数据是最新的: EXEC sp_spaceused @updateusage = N'TRUE'; 执行完毕后结果是两个表,第一个表中包含了基本的统计信息,第二个表示更加详细…
第一种情况:将A数据库.dbo.A表的数据追加到B数据库.dbo.B表中 (条件:此时B数据库中已创建好了B表) insert into B数据库.dbo.B表 select * from A数据库.dbo.A表 [where条件] 此T-SQL语句会有异常    仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'B数据库.dbo.B表'中的标识列指定显式值. 原因:B数据库.dbo.B表中某列别设置成自动增长(一般为主键ID). 解决:把 * 变成 指定 [列名]…
1.查询数据库中的所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.查询某个数据库中所有的表名: SELECT Name FROM SysObjects Where XType='U' ORDER BY Name 3.查询表结构信息: 1 SELECT (case when a.colorder=1 then d.name else null end) 表名, 2 a.colorder 字段序号,a.name 字段名, 3…
1,根据数据库类型拼接不同URL /** * 根据类型不同拼接连接的URL * @param dbType 1:mysql.2:oracle.3:sql server.4:gp * @param ip * @param port * @param databaseName * @return*/ public static String getTestDbUrl(int dbType, String ip, String port, String databaseName){ String ur…
Oracle: SELECT * FROM ALL_TABLES;系统里有权限的表 SELECT * FROM DBA_TABLES; 系统表 SELECT * FROM USER_TABLES; 当前用户下的表     Sql Server 1,利用sysobjects系统表 在这个表中,在数据库中创建的每个对象(例如约束.默认值.日志.规则以及存储过程)都有对应一行,我们在该表中筛选出xtype等于U的所有记录,就为数据库中的表了. 示例语句如下:: select * from sysobj…
最近,电脑重装系统之后,安装了SQL Server 2008.附加数据库文件的时候,发现无法附加,提示版本不对.想起来,原来的数据库版本是SQL Server 2008R2.低版本的数据库管理工具无法兼容高版本的数据库文件,所以无法直接附加.我有10几个这样的数据库文件需要附加到数据库管理工具中,上网百度一番之后,没有查到什么特别的捷径.最后,只好选择了先将这些数据库文件附加到一台安装了SQL Server 2008R2的电脑上,再导出数据脚本,通过数据脚本还原数据库文件到SQL Server…
SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理. 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入.这些虚拟表对调用者(客户端应用程序或者外部查询)不可用.只是最后一步生成的表才会返回 给调用者.如果没有在查询中指定某一子句,将跳过相应的步骤.下面是对应用于SQL server 2000和SQL Server 2005的各个逻辑…
SELECT * FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME='Account' SELECT    (case when a.colorder=1 then d.name else '' end) as 表名,--如果表名相同就返回空       a.colorder as 字段序号,       a.name as 字段名,       (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity'…
有时候我们需要查看下数据数据库中表的创建时间和最后修改时间,可以通过以下语句实现: Oracle数据库 -- 查看当前用户下的表 SELECT * FROM USER_TABLES -- 查看数据库中所有的表 SELECT * FROM DBA_TABLES -- 查看所有表的创建和最后修改时间 SELECT OBJECT_NAME, CREATED, LAST_DDL_TIME from user_objects -- 查看某表的创建和最后修改时间 SELECT CREATED, LAST_D…
设置最大连接数 下面的T-SQL 语句可以配置SQL Server 允许的并发用户连接的最大数目. exec sp_configure 'show advanced options', 1exec sp_configure 'user connections', 100第一句用以表示显示sp_configure 系统存储过程高级选项,使用user connections 时,要求show advanced options 值为1. 第二句配置最大连接数为100,0 表示不限制,但不表示无限,后面…
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='subject' --表名 1.利用sysobjects系统表 在这个表中,在数据库中创建的每个对象(例如约束.默认值.日志.规则以及存储过程)都有对应一行,我们在该表中筛选出xtype等于U的所有记录,就为数据库中的表了. 示例语句如下: select * from sysobjects where xtype='U' 注意:在SQL SERVER2005中,出现了sys.ob…
创建表,展开数据库中新建的数据库,下面有一个选项-表.在该选项上右键就可以选择-新建-表. 然后出现的界面上是需要自己填写列列名.数据类型和选择是否允许空值. 其中数据类型我是参考: http://www.w3school.com.cn/sql/sql_datatypes.asp 在填完各类之后,可能还需要选择主键,在对应列上右键即可选择设置主键,如果需要多个列组合为主键,首先框选需要设置的几列,再右键选择设置主键即可,然后Ctrl+S即可填写表名并保存了. 另外创建完表保存之后,表不会立即出现…
查询数据库空间分配情况: use master go create procedure dbo.proc_getdbspaceused as begin set nocount on create table #dbsize( database_id int ,database_name ) ,size_kb bigint ,space_available_kb bigint ,reserved_kb bigint ,data_kb bigint ,index_kb bigint ,unused…
使用场景 可以反复的执行相同脚本 方式1:查询sysobjects表 if EXISTS (SELECT * from sysobjects WHERE name='test_table') DROP TABLE test_table create table test_table( id varchar(20), name nvarchar(20) ) 方式2:使用object_id函数 语法 OBJECT_ID ( '[ database_name . [ schema_name ] . |…
--方法一if exists ( select * from dbo.sysobjects where id = object_id(N'[dbo].[TableSpace]') and objectproperty(id, N'IsUserTable') = 1 ) drop table [dbo].[TableSpace]gocreate table TableSpace ( TableName varchar(20) , RowsCount char(11) , Reserved varc…
一.查询数据库(sys.databases —— select *from sys.databases where name='<数据库名>') select *from sys.databases where name='MyDatabase' 二.查询表(sysobjects —— select *from sysobjects where id=OBJECT_ID('<表名>')) select *from sysobjects where id=OBJECT_ID('Stu…
因为最近的项目的一个小功能需要实现当前数据和历史的今天做一个对比.在网上也查了很久,很多都是实现一个月内的,一年内的所有数据,昨晚突然就找到了下面的实现方法,在SQL Server2008中试了一下,正是我想要的结果.故写了一个随笔,如果以后还需要可以方便查找,另外也希望可以帮到需要的人. Select * From History where savetime=(select dateAdd(yy,-1,getdate())) 其中,History是数据库的名字,savetime是表示时间的字…
SELECT (case when a.colorder=1 then d.name else null end) 表名, a.colorder 字段序号,a.name 字段名,  (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,    (case when (SELECT count(*) FROM sysobjects WHERE (name in (SELECT name FROM…
declare @key varchar(30)set @key = '广州' --替换为要查找的字符串DECLARE @tabName VARCHAR(40),@colName VARCHAR(40)DECLARE @sql VARCHAR(2000)declare @tsql varchar(8000)DECLARE tabCursor CURSOR FORSELECT name from ccfs3.dbo.sysobjects WHERE xtype = 'u' AND name <>…
--本周第一天    SELECT DATEADD(Day,1-(DATEPART(Weekday,getdate())+@@DATEFIRST-1)%7,getdate())   --or    select dateadd(wk, datediff(wk,0,getdate()), 0)   --本周第一天    select dateadd(wk, datediff(wk,0,getdate()), 6)       --上月第一天    SELECT CONVERT(CHAR(10),D…
1. 查询所有存储过程 1 select Pr_Name as [存储过程], [参数]=stuff((select ','+[Parameter] 2 from ( 3 select Pr.Name as Pr_Name,parameter.name +' ' +Type.Name + ' ('+convert(varchar(32),parameter.max_length)+')' as Parameter 4 from sys.procedures Pr left join 5 sys.…
select name,mobile from [GeneShop].[dbo].[xx_member] where mobile in ( SELECT mobile FROM [GeneShop].[dbo].[xx_member] ) order by mobile; 查询结果展示:…
SELECT TOP 1000        ST.text AS '执行的SQL语句',       QS.execution_count AS '执行次数',       QS.total_elapsed_time AS '耗时',       QS.total_logical_reads AS '逻辑读取次数',       QS.total_logical_writes AS '逻辑写入次数',       QS.total_physical_reads AS '物理读取次数',    …