Tag: tsql

如何获取受存储过程影响的logging数?

对于直接针对数据库执行的INSERT , UPDATE和DELETE SQL语句,大多数数据库提供程序返回受影响的行数。 对于存储过程,受影响的logging数始终为-1 。 我们如何获得受存储过程影响的logging数?

如何使用标识列创build表

我有一个现有的表,我将要吹走,因为我没有创build它的ID列设置为表的标识列。 使用SQL Server Management Studio,我编写了一个创build到…的现有表,并得到了这个: CREATE TABLE [dbo].[History]( [ID] [int] NOT NULL, [RequestID] [int] NOT NULL, [EmployeeID] [varchar](50) NOT NULL, [DateStamp] [datetime] NOT NULL, CONSTRAINT [PK_History] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] 我的问题是,我将如何修改这个SQL,以便我的结果表的ID列设置为身份 ?

确定SQL Server数据库大小

SQL Server 2005/2008 Express版本每个数据库的限制为4 GB。 据我所知,数据库引擎只考虑数据,因此不包括日志文件,未使用的空间和索引大小。 获取MDF文件的长度不应根据SQL Server限制给出正确的数据库大小。 我的问题是如何获得数据库的大小?

如何列出SQL Server表的主键?

简单的问题,你如何用T-SQL列出表的主键? 我知道如何在桌子上获得索引,但不记得如何获得PK。

如何计算SQL Column中字符的实例

我有一个SQLstring是100个'Y'或'N'字符的string。 例如: YYNYNYYNNNYYNY … 获得每行中所有“Y”符号的最简单方法是什么?

varchar(max)variables的最大大小

在过去的任何时候,如果有人问我varchar(max)的最大大小,我会说2GB,或者查找更准确的数字 (2 ^ 31-1或2147483647)。 但是,在最近的一些testing中,我发现varchar(max)variables显然可以超过这个大小: create table T ( Val1 varchar(max) not null ) go declare @KMsg varchar(max) = REPLICATE('a',1024); declare @MMsg varchar(max) = REPLICATE(@KMsg,1024); declare @GMsg varchar(max) = REPLICATE(@MMsg,1024); declare @GGMMsg varchar(max) = @GMsg + @GMsg + @MMsg; select LEN(@GGMMsg) insert into T(Val1) select @GGMMsg select LEN(Val1) from T 结果: (no column name) 2148532224 […]

T-SQL查询显示表定义?

什么是查询将显示完整的定义,包括SQL Server表的索引和键? 我想要一个纯粹的查询 – 并知道SQL Studio可以给我这个,但我经常在“野生”的电脑,只有最简单的应用程序,我没有权利安装工作室。 但SQLCMD始终是一个选项。 更新:我已经尝试过sp_help,但只是产生一个logging显示名称,所有者,types和Created_Datetime。 有什么我失踪与sp_help? 这就是我所说的: sp_help机场 请注意,我真的很想要定义表的DDL。

定义与IN运算符一起使用的variables(T-SQL)

我有一个使用IN运算符的Transact-SQL查询。 像这样的东西: select * from myTable where myColumn in (1,2,3,4) 有没有办法定义一个variables来保存整个列表“(1,2,3,4)”? 我应该如何定义它? declare @myList {data type} set @myList = (1,2,3,4) select * from myTable where myColumn in @myList

如何删除一个函数,如果它已经存在?

我知道这一定很简单,但是我怎么用一个检查来创build一个函数,看它是否已经存在? 如果存在,我想删除并重新创build它。

使用T-SQL生成MD5哈希string

有没有办法生成MD5types的varchar(32)哈希string,而不使用fn_varbintohexstr SUBSTRING(master.dbo.fn_varbintohexstr(HashBytes('MD5', 'email@dot.com')), 3, 32) 所以它可以在SCHEMABINDING的视图中使用