标签: sql-server-2014

如何在SQL Server 2014中回滚UPDATE查询?

我知道这个问题多次被问过以前版本的SQL Server,但我想知道这是否在SQL Server 2014中变得更容易了.

我熟悉这里显示的其他版本的技术

如何在SQL Server 2005中回滚UPDATE查询?

在SQL Server 2008中撤消表更新

所以问题是:在SQL Server 2014中是否有任何允许回滚和UPDATE查询的功能在以前的版本中是不可用的?

我正在谈论已提交的命令 - 我知道如果查询在事务内部,您可以回滚.

我们有完整的,差异的和事务日志备份,但我们真的希望避免将备份恢复到辅助数据库等的恢复方案......

sql-server sql-server-2014

0
推荐指数
1
解决办法
9970
查看次数

如何使用客户端游标SqlConnection/SqlDataReader?

我有一个SQL Server 2014实例和一个用C#编写的客户端应用程序.

从这个应用程序,我使用下面的代码检索数据.使用一些经验测试,似乎正在使用服务器端游标.对于我的特定用例,我想使用客户端游标.如何才能做到这一点?

如何使用客户端游标进行连接?

<connectionStrings>
   <clear/>
   <add name="myDB" 
        connectionString="Server=SERVER\INSTANCE;Database=test"
        providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

C#客户端代码:

using (var connection = OpenConnection())
{
    using (var command = connection.CreateCommand())
    {
        command.CommandType = CommandType.StoredProcedure;
        command.CommandText = "dbo.my_stored_procedure";

        using (var reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                object retrievedObject = reader.GetValue(0);
                // Use object...
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有用的链接:

c# sql-server sql-server-2014

0
推荐指数
1
解决办法
1648
查看次数

按月和类型计算记录

我在SQL Server 2014中有一个使用此模式的表:

OccuredDate (date)     TypeID (int)
2014-1-1               1
2014-1-2               1
2014-2-5               4
2015-5-23              2
2015-6-3               3
Run Code Online (Sandbox Code Playgroud)

...它有数千行由日期和类型ID组成,跨越多年.

因此,我可以将其绘制到图表组件,我正在尝试构建一个查询,在给定年份1)每月返回一行2)计算给定TypeID的TypeID实例的总数.图表组件更喜欢列类型计数.

所以对于"2014",它看起来像这样:

MonthDate    TypeOne    TypeTwo    TypeThree    TypeFour
2014-1-1     2          0          0            0
2014-2-1     0          0          0            1
Run Code Online (Sandbox Code Playgroud)

要么:

Year    Month    TypeOne    TypeTwo    TypeThree    TypeFour
2014    Jan       2          0          0            0
2014    Feb       0          0          0            1
Run Code Online (Sandbox Code Playgroud)

花了大半夜的时间,但没有运气.是否有一些黑暗的SQL魔法可以做到这一点?

谢谢!

sql sql-server sql-server-2014

0
推荐指数
1
解决办法
248
查看次数

SQL Server主键快速结果

我想构建一个SQL Server数据库,其中一个表将包含200.000.000条记录.

该表有2列:Id和Value,其中Id是PrimaryKey并被索引.

我的问题是关于SQL Server的性能,我可以通过主键获得一个值多快?

sql sql-server sql-server-2014

0
推荐指数
1
解决办法
118
查看次数

使用sqlpackage.exe发布时如何设置数据库服务目标

我正在使用 SQL Server Management Studio 2016(预览版)提供的 sqlpackage.exe 将数据库发布到 SQL Azure(从以前从本地数据库服务器导出的 bacpac 文件)。

问题是这个数据库是用 S0 服务目标创建的(我认为这是默认的)。

我希望能够使用 sqlpackage.exe 在导入命令中设置目标的服务目标。

我已经搜索了答案,但在此处提供的 sqlpackage.exe 文档中找不到任何内容:

https://msdn.microsoft.com/en-us/library/hh550080(v=vs.103).aspx

我看到管理工作室 UI 允许设置服务目标,我知道它在下面使用 sqlpackage.exe。

任何人都知道如何完成这项工作?

sql-server azure sql-server-2014 sql-server-2016 azure-sql-database

0
推荐指数
1
解决办法
854
查看次数

无法将值NULL插入到使用Sql Select语句的列中

你能告诉我如何避免下面提到的例外吗?

 INSERT INTO [Migrated].[dbo].[Cities] (Name, ZipCode)
     SELECT DISTINCT 
         a.City, a.ZipCode 
     FROM
         [Legacy].[dbo].[Ziplist] AS a 
     WHERE
         (a.City IS NOT NULL AND a.ZipCode IS NOT NULL);
Run Code Online (Sandbox Code Playgroud)

例外:

无法将值NULL插入列'IsDeleted',表'Migrated.dbo.Cities'; 列不允许空值.INSERT失败.

sql sql-server sql-server-2014

0
推荐指数
1
解决办法
1万
查看次数

如何在sql server中找到下一个元素

我有这个SQL

它产生如下的输出

A 
B 
C 
D 
...... 
...... 
ZZZZ

让我们说用户给了我"AZ".我想让他回归"BA".怎么做 ?

谢谢

sql t-sql sql-server sql-server-2014

0
推荐指数
1
解决办法
100
查看次数

WHERE IF(字段取决于参数)SQL

初始数据示例:

 Project   |   Field1   |   Field2    |   Field3    |
 --------------------------------------------------------------------
 Project 1 |      0     |      1      |      2      |
 Project 2 |      2     |      0      |      1      |
Run Code Online (Sandbox Code Playgroud)

使用SQL Server 2014,我有表,我需要在ssrs参数中获取依赖于值的数据.查询样本.

Select *
Where IF@Scenario=1, then Field1 < 2
      IF@Scenario=2, then Field2 < 2
      IF@Scenario=3, then Field3 < 2
From Table1
Run Code Online (Sandbox Code Playgroud)

sql sql-server reporting-services sql-server-2014

0
推荐指数
1
解决办法
131
查看次数

如何为同一列更新具有不同值的许多行?

我有一个表,其中的列包含文件的路径。该路径是绝对路径,该列的值如下所示:C:\CI\Media\animal.jpg

该表看起来像这样,除了有很多行,所以手工编辑是不实际的:

`+----+-----------------------------------+
| ID |               Path                |
+----+-----------------------------------+
|  1 | C:\CI\Media\sushi.jpg             |
|  2 | C:\CI\Media\animal.jpg            |
|  3 | C:\CI\Media\Tuscany Trip\pisa.png |
+----+-----------------------------------+`
Run Code Online (Sandbox Code Playgroud)

路径是nvarchar(260)

我想做的是运行一个查询,该查询将更新每条记录,以便每条记录的路径都替换C:\CI\C:\CI\Net,最后得到一个看起来像这样的表:

`+----+---------------------------------------+
| ID |                 Path                  |
+----+---------------------------------------+
|  1 | C:\CI\Net\Media\sushi.jpg             |
|  2 | C:\CI\Net\Media\animal.jpg            |
|  3 | C:\CI\Net\Media\Tuscany Trip\pisa.png |
+----+---------------------------------------+`
Run Code Online (Sandbox Code Playgroud)

有没有一种格式化查询的格式,该查询将更新每条记录,但会根据现有值进行更新(用每条记录替换该C:\CI部分,C:\CI\Net同时保留其余值),而不是将每列设置为相同的值,例如正常更新表设置列=值?

sql-server sql-server-2014

0
推荐指数
1
解决办法
29
查看次数

SQL Else If语句从另一列的数值返回文本值-不起作用

我需要有一个计算列Site_Condition,该列将基于Condition_Score同一表中另一列的数值返回一个文本值。

以下是我尝试插入“计算列规范”中的内容,但收到此消息:

验证公式时出错

我还尝试过使用下面的相同语法从脚本“创建表为”创建它,例如:Site_Condition AS(IF ....)

我究竟做错了什么?

IF([Condition_Score]<0.51,'Very poor',(ELSE  
IF([Condition_Score]<1.51,'Poor', ELSE 
IF([Condition_Score]<2.51,'Moderate',ELSE 
IF([Condition_Score]<3.51,'Good',ELSE 
IF([Condition_Score]>3.51,'Excellent'))))))
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2014

0
推荐指数
1
解决办法
77
查看次数