Questions tagged «sql-server»

Microsoft SQL Server是一个关系数据库管理系统(RDBMS)。将此标签用于所有SQL Server版本,包括Compact,Express,Azure,Fast-track,APS(以前称为PDW)和Azure SQL DW。请勿将此标签用于其他类型的DBMS(MySQL,PostgreSQL,Oracle等)。除非该标签与数据库直接相关,否则请勿将其用于软件和移动开发问题。

28
SQL Server DB中所有索引和索引列的列表
如何获得SQL Server 2005+中所有索引和索引列的列表?我能得到的最接近的是: select s.name, t.name, i.name, c.name from sys.tables t inner join sys.schemas s on t.schema_id = s.schema_id inner join sys.indexes i on i.object_id = t.object_id inner join sys.index_columns ic on ic.object_id = t.object_id inner join sys.columns c on c.object_id = t.object_id and ic.column_id = c.column_id where i.index_id > …


15
设置使用人数
受这个问题的启发,在SET NOCOUNT上有不同的看法... 我们是否应该将SET NOCOUNT ON用于SQL Server?如果没有,为什么不呢? 它的作用编辑6,2011年7月22日 它抑制了任何DML之后的“受影响的xx行”消息。这是一个结果集,发送时,客户端必须对其进行处理。它很小,但是可以测量(请参见下面的答案) 对于触发器等,客户端将收到多个“受影响的xx行”,这将导致某些ORM,MS Access,JPA等的各种错误(请参见下面的编辑) 背景: 公认的最佳实践(直到这个问题之前,我一直认为)是SET NOCOUNT ON在SQL Server的触发器和存储过程中使用。我们到处都使用它,一个快速的google也显示出很多SQL Server MVP也同意。 MSDN表示,这可能会破坏.net SQLDataAdapter。 现在,这对我来说意味着SQLDataAdapter仅限于完全CRUD处理,因为它希望“ n个受影响的行”消息匹配。因此,我不能使用: 如果存在则避免重复(不影响行的消息)注意:请谨慎使用 不存在(行数少于预期) 过滤掉琐碎的更新(例如,实际上没有数据更改) 之前进行任何表访问(例如记录) 隐藏复杂性或去甲化作用 等等 在问题marc_s(谁知道他的SQL知识)说不要使用它。这与我的想法有所不同(我也认为自己在SQL方面有些能力)。 我可能会遗漏一些东西(随意指出显而易见的地方),但是你们在那里的人们怎么想? 注意:已经有好几年了,因为我现在不使用SQLDataAdapter,所以看到了此错误。 在评论和问题之后进行编辑: 编辑:更多的想法... 我们有多个客户端:一个可以使用C#SQLDataAdaptor,另一个可以使用Java的nHibernate。这些可能会以不同的方式受到影响SET NOCOUNT ON。 如果您将存储的procs当作方法,那么以某种方式处理某些内部处理以达到您自己的目的是不好的形式(反模式)。 编辑2:触发打破nHibernate问题,SET NOCOUNT ON无法设置在哪里 (不,它不是this的重复) 编辑3:还有更多信息,多亏了我的MVP同事 KB 240882,导致在SQL 2000及更早版本上断开连接的问题 性能提升演示 编辑4:2011年5月13日 如果未指定,是否也会破坏Linq 2 SQL? 编辑5:2011年6月14日 …

24
等于操作无法解决“ SQL_Latin1_General_CP1_CI_AS”和“ Latin1_General_CI_AS”之间的排序规则冲突
我有以下代码 SELECT tA.FieldName As [Field Name], COALESCE(tO_A.[desc], tO_B.[desc], tO_C.Name, tA.OldVAlue) AS [Old Value], COALESCE(tN_A.[desc], tN_B.[desc], tN_C.Name, tA.NewValue) AS [New Value], U.UserName AS [User Name], CONVERT(varchar, tA.ChangeDate) AS [Change Date] FROM D tA JOIN [DRTS].[dbo].[User] U ON tA.UserID = U.UserID LEFT JOIN A tO_A on tA.FieldName = 'AID' AND tA.oldValue = …
340 sql-server 

24
SQL中是否有“ LIKE”和“ IN”的组合?
Наэтотвопросестьответына 堆栈溢出нарусском:СуществуетликомбинацияоператоровLIKEиINвусловиизапроса? 在SQL I中,(不幸的)我经常不得不使用“ LIKE”条件,因为数据库违反了几乎所有规范化规则。我现在无法更改。但这与问题无关。 此外,我经常使用条件WHERE something in (1,1,2,3,5,8,13,21)来提高SQL语句的可读性和灵活性。 有没有可能在不编写复杂的子选择的情况下将这两件事结合起来的方法? 我想要一些简单WHERE something LIKE ('bla%', '%foo%', 'batz%')而不是这样的东西: WHERE something LIKE 'bla%' OR something LIKE '%foo%' OR something LIKE 'batz%' 我在这里使用SQl Server和Oracle,但是我很感兴趣是否可以在任何RDBMS中实现。
340 sql  sql-server  oracle  tsql  plsql 





5
SQL Server转义下划线
如何转义下划线字符? 我正在编写类似以下where子句的内容,并希望能够在末尾找到_d的实际条目。 Where Username Like '%_d'
338 sql-server 

7
使用GUID作为主键的最佳实践是什么,特别是在性能方面?
我有一个几乎在所有表中都使用GUID作为主键的应用程序,并且我已经读到在将GUID用作主键时存在有关性能的问题。老实说,我还没有遇到任何问题,但是我将要启动一个新的应用程序,并且我仍然想将GUID用作主键,但是我正在考虑使用复合主键(GUID以及其他领域) ) 我使用GUID是因为当您具有不同的环境(例如“生产”,“测试”和“开发”数据库)以及在数据库之间进行数据迁移时,它们易于管理。 我将使用Entity Framework 4.3,然后在将其插入数据库之前在应用程序代码中分配Guid。(即,我不想让SQL生成Guid)。 为避免基于此方法的性能受到影响,创建基于GUID的主键的最佳实践是什么?

16
sql server无效的对象名称-但表在SSMS表列表中列出
我正在尝试Stored Procedure为新创建的数据库创建一个。但是,SSMS智能感知不能识别已创建的表的一半以上。 例如,在表格下方的左列中,我有一个表格dbo.Room,当我dbo.在新的查询窗口中键入“ ”时,该表格未列出,实际上,在37个表格中仅列出了17个。 我看不出intellisense列出的表与未列出的表之间没有区别。如果我手动键入dbo.Room,则带下划线,错误为 无效的对象名称“ dbo.Room”。 我在摆桌子上错过了什么吗? 更新:我尝试刷新表列表(几次)
336 sql-server  ssms 

8
什么代表SQL Server中的double?
我有一对夫妇在性C#这是double我想将这些存储在SQL Server中的表,但发现没有double类型,所以什么是最好的使用,decimal还是float? 这将存储纬度和经度值,因此我需要最精确的精度。 感谢到目前为止的答复。

14
SQL Server-SELECT FROM存储过程
我有一个存储过程返回行: CREATE PROCEDURE MyProc AS BEGIN SELECT * FROM MyTable END 我的实际过程有些复杂,这就是为什么需要存储的原因。 是否可以通过调用此过程来选择输出? 就像是: SELECT * FROM (EXEC MyProc) AS TEMP 我需要使用SELECT TOP X,ROW_NUMBER和一个附加WHERE子句来分页数据,而且我真的不想将这些值作为参数传递。

8
如何在SQL Server中使用级联删除?
我有2个表:T1和T2,它们是具有数据的现有表。T1和T2之间存在一对多关系。当删除T1中的记录时,如何更改表定义以在SQL Server中执行级联删除,T2中的所有相关记录也都删除了。 它们之间存在外部约束。我不想删除表或创建触发器来删除T2。例如,当我删除员工时,所有复查记录也应消失。 T1-员工, Employee ID Name Status T2-效果评论, Employee ID - 2009 Review Employee ID - 2010 Review

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.