Tag: tsql

SQL Server输出子句写入标量variables

有没有什么“简单”的方法来做到这一点,或者我需要通过与“OUTPUT … INTO”语法的表variables传递? DECLARE @someInt int INSERT INTO MyTable2(AIntColumn) OUTPUT @SomeInt = Inserted.AIntColumn VALUES(12)

SQL Server中“空值”大小占用多less?

我有一个大桌子,说10列。 其中4个大部分时间都是空的。 我有一个查询,空值取任何大小或没有字节大小。 我读了几篇文章,其中一些是说: http://www.sql-server-citation.com/2009/12/common-mistakes-in-sql-server-part-4.html 有一个误解,如果我们有一个表中的NULL值,它不会占用存储空间。 事实上,一个NULL值占用的空间 – 2个字节 SQL:使用NULL值与默认值 数据库中的NULL值是一个系统值,占用一个字节的存储空间,并指示值不存在,而不是空格或零或任何其他默认值。 你可以请指导我关于空值所采取的大小。

SQL Server':setvar'错误

我正在尝试在T-SQL中创build一些脚本variables,如下所示: /* Deployment script for MesProduction_Preloaded_KLM_MesSap */ GO SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON; SET NUMERIC_ROUNDABORT OFF; GO :setvar DatabaseName "MesProduction_Preloaded_KLM_MesSap" 但是,当我运行这个时,我得到一个错误,说明'不正确的语法附近':'。 我究竟做错了什么?

以随机顺序返回行

每次查询运行时,是否可以编写按照随机顺序返回表行的SQL查询?

我想使用CASE语句来更新sql server 2005中的一些logging

UPDATE dbo.TestStudents SET LASTNAME = ( CASE WHEN (LASTNAME = 'AAA') THEN 'BBB' WHEN (LASTNAME = 'CCC') THEN 'DDD' WHEN (LASTNAME = 'EEE') THEN 'FFF' ELSE (LASTNAME) END ) 该声明是为了这个目的而工作的,但其他条件扫描了表中的每个logging。 有什么办法可以让未受影响的行保持原样吗?

nvarchar(MAX)将容纳的最大字符数是多less?

我是nvarchar(MAX)这个概念的新手。 它会持有多less个字符?

TSQL – 将string转换为整数或返回默认值

在T-SQL中有一种方法将nvarchar转换为int并返回一个默认值,或者如果转换失败,则返回NULL?

SQL Server:对象名称的最大字符长度

SQL Server 2008中对象名(例如约束,列)的最大字符长度是多less?

如何强制SQL Server 2008数据库脱机

如何强制我的数据库脱机,而不考虑已经使用的数据库? 我试过了: ALTER DATABASE database-name SET OFFLINE; 但7分钟后仍然悬挂。 我想要这个,因为我需要testing场景。 如果这甚至是可能的?

如何复制SQL表中的logging,但换出新行的唯一ID?

这个问题接近我所需要的,但是我的情况稍有不同。 源表和目标表是相同的,主键是唯一标识符(guid)。 当我尝试这个: insert into MyTable select * from MyTable where uniqueId = @Id; 我显然得到主键约束违规,因为我试图通过主键复制。 其实我根本不想复制主键。 相反,我想创造一个新的。 此外,我想有select地复制某些字段,并将其他字段留空。 为了使事情更复杂,我需要把原始logging的主键,并将其插入副本(PreviousId字段)中的另一个字段。 我确信有一个简单的解决scheme,我只是不知道足够的TSQL知道它是什么。