我一直在尝试一些索引意见,并留下深刻的印象,但我几乎总是需要一个最大或最小,以及不明白为什么它不起作用,谁能解释为什么? 我知道他们不被允许,我只是不明白为什么! 计数等允许为什么不MIN / MAX,我正在寻找解释…
将logging插入到具有标识列的表中时,可以使用SCOPE_IDENTITY()来获取该值。 在存储过程的上下文中,这将是推荐的返回标识值的方法: 作为输出参数SET @RETURN_VALUE = SCOPE_IDENTITY() 作为标量SELECT SCOPE_IDENTITY() 其他方式? 任何优点/缺点每个?
我必须pipe理一个日志,我必须看到事务插入的行数。 有没有办法dynamic地做到这一点?
默认情况下 – Microsoft SQL Server中为数据库设置的字符编码是什么? 如何在SQL Server中看到当前的字符编码?
我想知道如何使用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 2005数据库约250表。 我想暂时启用ON DELETE CASCADE到所有的外键,这样我就可以轻松地批量删除了。 然后我想在所有的外键上closuresON DELETE CASCADE。 我知道这样做的唯一方法是使用Management Studio生成一个完整的数据库创build脚本,做一些search和replace剥离除了外键以外的任何东西,保存脚本,然后做一些更多的search和replace添加ON DELETE CASCADE。 然后我运行脚本,做我的删除,然后运行其他脚本。 有一个更简单的方法来产生这个脚本? 这种方法似乎太容易出错,我将不得不保持脚本与我们对数据库做任何其他更改保持最新,或者每次我可能需要使用它时手动重新生成它。 是一个替代选项来运行系统表上的select“为我生成”的脚本? 是否可以在一个启用和禁用ON DELETE CASCADE的系统表上运行更新?
我对这个问题的答案已经广泛搜寻。 我正在使用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 […]
我需要使用batch file来更改数据库,对于一个简单的示例,请删除一个表。 我正在使用用户sa和密码的本地SQL Express(SQL Server 2008 R2)。 蝙蝠文件将如何? 如何在脚本中指定密码并在SQL Express中使用?
我已经安装了SQL Server 2008 Express并通过Windows身份validationlogin,它不允许我做任何事情。 我如何更改“sa”密码或在本地计算机2008 Express中获得完全权限? 我正在使用Windows 7。
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) 为什么以及如何解决它? 谢谢