标签: sql-server

从SQL Server 2008中的XML字段中选择值

只看我的XML字段,我的行看起来像这样:

<person><firstName>Jon</firstName><lastName>Johnson</lastName></person>
<person><firstName>Kathy</firstName><lastName>Carter</lastName></person>
<person><firstName>Bob</firstName><lastName>Burns</lastName></person>
Run Code Online (Sandbox Code Playgroud)

请注意,这些是我表中的三行.

我想将SQL结果作为表返回

Jon  | Johnson
Kathy| Carter
Bob  | Burns
Run Code Online (Sandbox Code Playgroud)

什么查询将完成此任务?

xml sql-server xpath

103
推荐指数
5
解决办法
40万
查看次数

SQL:BETWEEN vs <=和> =

在SQL Server 2000和2005中:

  • 这两个WHERE条款有什么区别?
  • 我应该在哪些场景中使用哪一个?

查询1:

SELECT EventId, EventName
FROM EventMaster
WHERE EventDate BETWEEN '10/15/2009' AND '10/18/2009'
Run Code Online (Sandbox Code Playgroud)

查询2:

SELECT EventId, EventName
FROM EventMaster
WHERE EventDate >='10/15/2009'
  AND EventDate <='10/18/2009'
Run Code Online (Sandbox Code Playgroud)

(编辑:第二个Eventdate最初缺失,因此查询语法错误)

sql t-sql sql-server between where

103
推荐指数
3
解决办法
14万
查看次数

如何在SQL Server上启用MSDTC?

这甚至是一个有效的问题吗?我有一个使用MSTDC的.NET Windows应用程序,它抛出异常:

System.Transactions.TransactionManagerCommunicationException:已禁用分布式事务管理器(MSDTC)的网络访问.请使用组件服务管理工具---> System.Runtime.InteropServices.COMException(0x8004D024)在MSDTC的安全配置中启用DTC以进行网络访问:事务管理器已禁用其对远程/网络事务的支持.(来自HRESULT的异常:0x8004D024)在System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize,Byte [] propgationToken,IntPtr managedIdentifier,Guid&transactionIdentifier,OletxTransactionIsolationLevel&isolationLevel,ITransactionShim&transactionShim)....

我按照Kbalertz指南在安装了应用程序的PC上启用了MSDTC,但错误仍然存​​在.

我想知道这是否是数据库问题?如果是这样,我该如何解决?

sql-server msdtc

102
推荐指数
4
解决办法
22万
查看次数

sql主键和索引

假设我在数据库集中有一个ID行(int)作为主键.如果我经常查询ID,我还需要索引吗?或者它是否是主键意味着它已被索引?

我问的原因是因为在MS SQL Server中我可以在这个ID上创建一个索引,正如我所说的那样是我的主键.

编辑:一个额外的问题 - 额外索引主键会不会有任何损害?

t-sql sql-server indexing primary-key

102
推荐指数
7
解决办法
9万
查看次数

根据条件使用另一个表的列更新列值

我有两张桌子......

table1(id,item,price)值:

id | item | price
-------------
10 | book | 20  
20 | copy | 30   
30 | pen  | 10
Run Code Online (Sandbox Code Playgroud)

.... table2(id,item,price)值:

id | item | price
-------------
10 | book | 20
20 | book | 30
Run Code Online (Sandbox Code Playgroud)

现在我想:

update table1 
   set table1.Price = table2.price 
 where table1.id = table2.id
   and table1.item = table2.item.
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

mysql sql sql-server oracle

102
推荐指数
2
解决办法
36万
查看次数

已成功与服务器建立连接,但在登录前握手期间发生错误

当我尝试从本地环境连接生产数据库时,我收到以下错误.

之前我能够连接Production DB,但突然间我得到了跟随错误,有什么想法吗?

已成功与服务器建立连接,但在登录前握手期间发生错误.(提供者:TCP提供者,错误:0 - 句柄无效.)

我试图在本地PC上运行asp.net网站,它有生产数据库的连接字符串,以下是我在本地环境中获取的错误的堆栈跟踪.

在MyWebsiteDAL.clsForumQuestion.SelectAll(Int32 CurrentPageIndex,Int32 PageSize)的D:\ EDrive\My WebSites\MyWebsite\MyWebsite\MyWebsiteDAL\clsForumQuestion.cs:第8行,位于D的CodeConnect.Default.Page_Load(Object sender,EventArgs e):\EDrive\My WebSites\MyWebsite\MyWebsite\MyWebsite\Default.aspx.cs:System.Web.Util的System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,Object t,EventArgs e)第100行. System.Web.UI.Page.ProcessRequestMain上的System.Web.UI.Control.LoadRecursive()处的System.Web.UI.Control.OnLoad(EventArgs e)上的CalliEventHandlerDelegateProxy.Callback(Object sender,EventArgs e)(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

知道这里可能出了什么问题吗?

.net sql-server ado.net database-connection sql-server-2008

102
推荐指数
9
解决办法
18万
查看次数

sqlserver中datetime和timestamp的区别?

TimestampDatetimeSQL Server有什么区别?

我认为这两种格式都能够存储日期和时间.然后,他们之间的差异在哪里?

但是Timestamp不能存储日期,时间信息.

还有什么区别?

sql sql-server time date

102
推荐指数
2
解决办法
23万
查看次数

SQL Server CTE和递归示例

我从不使用递归的CTE.我刚刚读了一篇关于它的文章.本文在Sql server CTE和递归的帮助下显示员工信息.它基本上显示了员工及其经理信息.我无法理解此查询的工作原理.这是查询:

WITH
  cteReports (EmpID, FirstName, LastName, MgrID, EmpLevel)
  AS
  (
    SELECT EmployeeID, FirstName, LastName, ManagerID, 1
    FROM Employees
    WHERE ManagerID IS NULL
    UNION ALL
    SELECT e.EmployeeID, e.FirstName, e.LastName, e.ManagerID,
      r.EmpLevel + 1
    FROM Employees e
      INNER JOIN cteReports r
        ON e.ManagerID = r.EmpID
  )
SELECT
  FirstName + ' ' + LastName AS FullName,
  EmpLevel,
  (SELECT FirstName + ' ' + LastName FROM Employees
    WHERE EmployeeID = cteReports.MgrID) AS Manager
FROM cteReports
ORDER BY EmpLevel, MgrID
Run Code Online (Sandbox Code Playgroud)

这里我发布有关输出如何显示的信息: 在此输入图像描述

我只需要知道它是如何首先显示管理器然后是循环中的下属.我想第一个sql语句只触发一次,并返回所有员工ID.

第二个查询重复触发,查询当前管理员ID所在的员工所在的数据库. …

sql-server common-table-expression

102
推荐指数
3
解决办法
17万
查看次数

为什么在LIKE过滤器中使用Underscore字符会给我所有结果?

我用以下LIKE条件编写了以下SQL查询:

SELECT * FROM Manager
WHERE managerid LIKE '_%'
AND managername LIKE '%_%'
Run Code Online (Sandbox Code Playgroud)

LIKE我想要搜索任何下划线%_%,但我知道我的列的数据没有下划线字符.

  • 为什么查询会给我表中的所有记录?

样本数据:

create table Manager(
    id int
    ,managerid varchar(3)
    ,managername varchar(50)
    );

insert into Manager(id,managerid,managername)values(1,'A1','Mangesh');
insert into Manager(id,managerid,managername)values(2,'A2','Sagar');
insert into Manager(id,managerid,managername)values(3,'C3','Ahmad');
insert into Manager(id,managerid,managername)values(4,'A4','Mango');
insert into Manager(id,managerid,managername)values(5,'B5','Sandesh');
Run Code Online (Sandbox Code Playgroud)

Sql-Fiddle

sql sql-server

102
推荐指数
4
解决办法
15万
查看次数

首先使用EF代码映射复合键

Sql server表:

SomeId PK varchar(50) not null 
OtherId PK int not null
Run Code Online (Sandbox Code Playgroud)

我应该如何在EF 6代码中首先映射这个?

public class MyTable
{
    [Key]
    public string SomeId { get; set; }

    [Key]
    public int OtherId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我看过一些例子,你必须为每一列设置顺序,是否需要?

这个地方有官方文件吗?

c# sql-server entity-framework entity-framework-6

102
推荐指数
5
解决办法
8万
查看次数