Tag: sql server

为什么索引视图不能有MAX()聚合?

我一直在尝试一些索引意见,并留下深刻的印象,但我几乎总是需要一个最大或最小,以及不明白为什么它不起作用,谁能解释为什么? 我知道他们不被允许,我只是不明白为什么! 计数等允许为什么不MIN / MAX,我正在寻找解释…

存储过程 – 返回标识作为输出参数或标量

将logging插入到具有标识列的表中时,可以使用SCOPE_IDENTITY()来获取该值。 在存储过程的上下文中,这将是推荐的返回标识值的方法: 作为输出参数SET @RETURN_VALUE = SCOPE_IDENTITY() 作为标量SELECT SCOPE_IDENTITY() 其他方式? 任何优点/缺点每个?

如何获取事务插入的行数

我必须pipe理一个日志,我必须看到事务插入的行数。 有没有办法dynamic地做到这一点?

SQL Server的默认字符编码

默认情况下 – Microsoft SQL Server中为数据库设置的字符编码是什么? 如何在SQL Server中看到当前的字符编码?

更新如果存在其他INSERT在SQL Server 2008中

我想知道如何使用UPSERT或换句话说UPDATE if records exists Else enter new record使用一个语句在SQL Server中UPDATE if records exists Else enter new record操作? 这个例子展示了在Oracle 这里实现这个的方法但是它使用了SQL Server中不存在的它的Dual表。 那么,请select任何SQL Server替代scheme(无存储过程) ?

SQL脚本来改变所有的外键添加ON DELETE CASCADE

我有一个SQL 2005数据库约250表。 我想暂时启用ON DELETE CASCADE到所有的外键,这样我就可以轻松地批量删除了。 然后我想在所有的外键上closuresON DELETE CASCADE。 我知道这样做的唯一方法是使用Management Studio生成一个完整的数据库创build脚本,做一些search和replace剥离除了外键以外的任何东西,保存脚本,然后做一些更多的search和replace添加ON DELETE CASCADE。 然后我运行脚本,做我的删除,然后运行其他脚本。 有一个更简单的方法来产生这个脚本? 这种方法似乎太容易出错,我将不得不保持脚本与我们对数据库做任何其他更改保持最新,或者每次我可能需要使用它时手动重新生成它。 是一个替代选项来运行系统表上的select“为我生成”的脚本? 是否可以在一个启用和禁用ON DELETE CASCADE的系统表上运行更新?

SQL – 只在一列上select不同的名称

我对这个问题的答案已经广泛搜寻。 我正在使用Microsoft SQL Server,假设我有一个如下所示的表: +——–+———+————-+————-+ | ID | NUMBER | COUNTRY | LANG | +——–+———+————-+————-+ | 1 | 3968 | UK | English | | 2 | 3968 | Spain | Spanish | | 3 | 3968 | USA | English | | 4 | 1234 | Greece | Greek | | 5 | 1234 […]

从命令行执行SQL脚本

我需要使用batch file来更改数据库,对于一个简单的示例,请删除一个表。 我正在使用用户sa和密码的本地SQL Express(SQL Server 2008 R2)。 蝙蝠文件将如何? 如何在脚本中指定密码并在SQL Express中使用?

如何在SQL Server 2008中更改sa密码?

我已经安装了SQL Server 2008 Express并通过Windows身份validationlogin,它不允许我做任何事情。 我如何更改“sa”密码或在本地计算机2008 Express中获得完全权限? 我正在使用Windows 7。

如何在t-sql中使用'execute'来设置variables的值?

DECLARE @dbName nvarchar(128) = 'myDb' DECLARE @siteId int exec ('SELECT TOP 1 @siteId = Id FROM ' + @dbName + '..myTbl') select @siteId 当我运行上面的脚本时,出现以下错误 Msg 137, Level 15, State 1, Line 1 Must declare the scalar variable "@siteId". (1 row(s) affected) 为什么以及如何解决它? 谢谢