Tag: sql server

如何使用GROUP BY连接SQL Server中的string?

如何得到: id Name Value 1 A 4 1 B 8 2 C 9 至 id Column 1 A:4, B:8 2 C:9

如何从SQL Server中的SELECT进行更新?

在SQL Server中,可以使用SELECT语句插入到表中: INSERT INTO Table (col1, col2, col3) SELECT col1, col2, col3 FROM other_table WHERE sql = 'cool' 是否也可以通过SELECT进行更新 ? 我有一个包含值的临时表,并希望使用这些值更新另一个表。 也许是这样的: UPDATE Table SET col1, col2 SELECT col1, col2 FROM other_table WHERE sql = 'cool' WHERE Table.id = other_table.id

将存储过程的结果插入临时表中

如何做一个SELECT * INTO [temp table] FROM [stored procedure] ? 不是FROM [Table]和没有定义[temp table] ? 从BusinessLine中select所有数据到tmpBusLine工作正常。 select * into tmpBusLine from BusinessLine 我正在尝试相同的,但使用返回数据的存储过程,是不完全相同的。 select * into tmpBusLine from exec getBusinessLineHistory '16 Mar 2009' 输出消息: Msg 156,Level 15,State 1,Line 2关键字'exec'附近的语法不正确。 我已经阅读了几个创build与输出存储过程相同的结构的临时表的例子,这工作正常,但它不会提供任何列。

参数化SQL IN子句

我如何参数化一个查询包含一个可变数量的参数的IN子句,就像这个? SELECT * FROM Tags WHERE Name IN ('ruby','rails','scruffy','rubyonrails') ORDER BY Count DESC 在这个查询中,参数的个数可以是1到5之间的任意值。 我不希望为这个(或XML)使用一个专用的存储过程,但是如果有一些针对SQL Server 2008的优雅方式,我可以这么做。

将许多行连接成单个文本string?

考虑一个包含三行的数据库表: Peter Paul Mary 有没有简单的方法把它变成Peter, Paul, Mary一串?

模拟Microsoft SQL Server 2005中的group_concat MySQL函数?

我试图将基于MySQL的应用程序迁移到Microsoft SQL Server 2005(不是由select,但是这是生活)。 在原来的应用程序中,我们几乎完全使用了符合ANSI-SQL的语句,但有一个明显的例外 – 我们经常使用MySQL的group_concat函数。 group_concat ,顺便说一下,是否这样做:给定一个表,例如员工姓名和项目… SELECT empName, projID FROM project_members; 收益: ANDY | A100 ANDY | B391 ANDY | X010 TOM | A100 TOM | A510 …以下是你用group_concat得到的结果: SELECT empName, group_concat(projID SEPARATOR ' / ') FROM project_members GROUP BY empName; 收益: ANDY | A100 / B391 / X010 TOM | A100 / […]

使用GUID作为主键,特别是关于性能的最佳实践是什么?

我有一个在几乎所有表中都使用GUID作为主键的应用程序,并且我读过使用GUID作为主键时存在性能问题。 老实说,我没有看到任何问题,但我即将开始一个新的应用程序,我仍然想要使用GUID作为主键,但我想使用复合主键(GUID和可能是另一个字段。) 我使用的是一个GUID,因为当你有不同的环境,如“生产”,“testing”和“开发”数据库,以及数据库之间的迁移数据,它们很好,易于pipe理。 我将使用entity framework4.3,我想在应用程序代码中分配Guid,然后将其插入到数据库中。 (即我不想让SQL生成Guid)。 创build基于GUID的主键的最佳做法是什么,以避免与此方法相关的假定的性能命中?

如何列出在SQL Server中引用给定表的所有外键?

我需要删除SQL Server数据库中高度被引用的表。 我怎样才能得到所有的外键约束,我将需要删除,以删除表的列表? (在管理工作室的图形用户界面中点击SQL应该更好。)

MSSQL错误“底层提供程序在打开时失败”

我正在使用.mdf连接到database和entityClient 。 现在我想更改连接字符串,以便不会有.mdf文件。 下面的connectionString是否正确? <connectionStrings> <!–<add name="conString" connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQL2008;AttachDbFilename=|DataDirectory|\NData.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />–> <add name="conString" connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQL2008;Initial Catalog=NData;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 因为我总是得到错误: 底层提供程序在打开时失败

在SQL Server中如何工作和'为Xml路径'工作

表格是: +—-+——+ | Id | Name | +—-+——+ | 1 | aaa | | 1 | bbb | | 1 | ccc | | 1 | ddd | | 1 | eee | +—-+——+ 要求的输出: +—-+———————+ | Id | abc | +—-+———————+ | 1 | aaa,bbb,ccc,ddd,eee | +—-+———————+ 查询: SELECT ID, abc = STUFF( (SELECT […]