Tag: sql server

SQL Server 2008pipe理工作室没有检查我的查询的语法

与往常一样,我会惊讶的有一个合理的解释,但直到那时…… 我有这个查询 delete from Photo where hs_id in (select hs_id from HotelSupplier where id = 142) 它执行得很好(后来我发现整个照片表是空的) 但奇怪的是: hs_id中没有字段hs_id ,叫做hs_key ! 所以当我执行最后一部分 select hs_id from HotelSupplier where id = 142 (用鼠标select查询的那一部分,然后按F5),我得到一个错误,但是当我在in子句中使用它时,它不会! 我不知道这是否是正常的行为?

这个查询做什么来创build逗号分隔列表SQL Server?

我已经写了这个查询与谷歌的帮助来创build一个表中的分隔列表,但我不明白从这个查询任何东西。 任何人都可以解释我发生了什么事 SELECT E1.deptno, allemp = Replace ((SELECT E2.ename AS 'data()' FROM emp AS e2 WHERE e1.deptno = e2.DEPTNO FOR xml PATH('')), ' ', ', ') FROM EMP AS e1 GROUP BY DEPTNO; 给我结果 10 CLARK, KING, MILLER 20 SMITH, JONES, SCOTT, ADAMS, FORD 30 ALLEN, WARD, MARTIN, BLAKE, TURNER, JAMES

为每个类别select前10个logging

我想在一个查询中返回每个部分的前10条logging。 任何人都可以帮助如何做到这一点? 部分是表格中的一列。 数据库是SQL Server 2005.我想按input的date返回前10名。 部分是业务,本地和function。 对于某个特定的date,我只需要顶部(10)业务行(最近的条目),顶部(10)本地行和顶部(10)function。

在存储过程中保留SQL与代码有什么优点和缺点

在您的C#源代码或Stored Procs中保留SQL的优点/缺点是什么? 我一直在和一位朋友讨论一个我们正在开发的开源项目(C#ASP.NET论坛)。 目前,大部分数据库访问都是通过在C#中内联SQL并调用SQL Server数据库来完成的。 所以我试图确定哪个对于这个特定的项目是最好的。 到目前为止我有: 代码中的优点: 更容易维护 – 不需要运行SQL脚本来更新查询 更容易移植到另一个数据库 – 没有过程端口 存储Procs的优点: 性能 安全

在SQL中是否有“LIKE”和“IN”的组合?

在SQL中(可悲的是)经常不得不使用“ LIKE ”条件,因为数据库几乎违反了每个规范化的规则。 我现在无法改变。 但这与问题无关。 此外,我经常使用WHERE something in (1,1,2,3,5,8,13,21)条件来提高我的SQL语句的可读性和灵活性。 有没有可能把这两件事情结合起来而不写复杂的子select? 我想要像WHERE something LIKE ('bla%', '%foo%', 'batz%')东西一样简单WHERE something LIKE ('bla%', '%foo%', 'batz%')而不是 WHERE something LIKE 'bla%' OR something LIKE '%foo%' OR something LIKE 'batz%' 我正在与SQl服务器和Oracle在这里工作,但我很感兴趣,如果这在任何RDBMS中都是可能的。

为什么NULL = NULL在SQL Server中计算为false

在SQL服务器中,如果在where子句中有nullParam=NULL ,它总是计算为false。 这是违反直觉的,造成了很多错误。 我明白IS NULL和IS NOT NULL关键字是正确的方法。 但为什么SQL服务器的行为呢?

如何使用T-SQL临时禁用外键约束?

禁用和启用SQL Server中支持的外键约束? 或者是我唯一的select,然后重新create约束?

将包含逗号分隔值的varchar传递给SQL Server IN函数

重复的 dynamicSQL逗号分隔值查询 使用Like和In参数化查询 我有一个SQL Server存储过程,我想通过一个varchar充满逗号分隔值到IN函数。 例如: DECLARE @Ids varchar(50); SET @Ids = '1,2,3,5,4,6,7,98,234'; SELECT * FROM sometable WHERE tableid IN (@Ids); 这当然不行。 我得到的错误: 将varchar值“1,2,3,5,4,6,7,98,234”转换为数据typesint时转换失败。 我怎样才能做到这一点(或类似的东西),而不诉诸build设dynamicSQL?

如何在SQL Server 2005中的一个语句中更新两个表?

我想一次更新两个表格。 我如何在SQL Server 2005中做到这一点? UPDATE Table1, Table2 SET Table1.LastName='DR. XXXXXX', Table2.WAprrs='start,stop' FROM Table1 T1, Table2 T2 WHERE T1.id = T2.id AND T1.id = '010008'

如何将stream保存到C#文件中?

我有一个StreamReader对象,我初始化一个stream,现在我想保存这个stream到磁盘(该stream可能是.gif或.jpg或.pdf )。 现有代码: StreamReader sr = new StreamReader(myOtherObject.InputStream); 我需要将其保存到磁盘(我有文件名)。 将来,我可能希望将其存储到SQL Server。 我也有编码types,如果我将它存储到SQL Server,我将需要正确的?