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
因为FOREIGN KEY约束正在引用表,所以无法截断它?
使用MSSQL2005,如果我首先截断子表(具有FK关系主键的表),是否可以截断具有外键约束的表? 我知道我可以 使用DELETE无where子句,然后RESEED使用标识(或) 删除FK,截断表,然后重新创建FK。 我以为只要我在父表之前将子表截断,就可以不做上述任何一个选择,但是我会收到此错误: 无法截断表'TableName',因为它已被FOREIGN KEY约束引用。

25
适用于MS SQL Server的Mac OS X的SQL客户端[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 如何使用Mac OS X连接到远程SQL Server?我实际上并不需要GUI,但是具有颜色编码和结果集网格将是很好的。我宁愿不必使用VM。 是否有适用于MS SQL Server的Mac OS X的SQL客户端?
452 sql-server  macos 

18
从存储过程的结果集中选择列
我有一个存储过程返回80列和300行。我想编写一个选择,使这些列中有2个。就像是 SELECT col1, col2 FROM EXEC MyStoredProc 'param1', 'param2' 当我使用以上语法时,出现错误: “无效的列名”。 我知道最简单的解决方案是更改存储过程,但是我没有编写它,也无法更改它。 有什么办法可以做我想要的吗? 我可以制作一个临时表来放入结果,但是因为有80列,所以我需要制作一个80列的临时表才能得到2列。我想避免跟踪所有返回的列。 我尝试WITH SprocResults AS ....按照Mark的建议使用,但出现2个错误 关键字“ EXEC”附近的语法不正确。')'附近的语法不正确。 我尝试声明一个表变量,但出现以下错误 插入错误:列名或提供的值数与表定义不匹配 如果我尝试 SELECT * FROM EXEC MyStoredProc 'param1', 'param2' 我得到错误: 关键字“ exec”附近的语法不正确。

11
SQL Server Management Studio 2012中的自动递增主键
我如何auto increment在primary key一个SQL Server数据库表,我已经通过论坛看看,但不能看到。 我看过属性,但是看不到选项,我看到了一个答案,您可以转到Identityspecification属性并将其设置为yes,然后将其设置Identity increment为1,但是该部分显示为灰色,我无法更改不,是的。 必须有一种简单的方法来执行此操作,但我找不到它。

19
向现有列添加身份
我需要将表的主键更改为标识列,并且表中已经有许多行。 我有一个脚本来清理ID,以确保它们从1开始是连续的,在我的测试数据库上可以正常工作。 将列更改为具有标识属性的SQL命令是什么?

12
您应该在SQL Server中选择MONEY还是DECIMAL(x,y)数据类型?
我很好奇money数据类型和类似的东西之间是否存在真正的区别decimal(19,4)(我相信这是金钱在内部使用的东西)。 我知道这money是特定于SQL Server的。我想知道是否有令人信服的理由选择一个而不是另一个?大多数SQL Server示例(例如AdventureWorks数据库)使用的money不是decimal价格信息。 我应该继续使用money数据类型,还是使用十进制有好处?钱是较少键入的字符,但这不是正当的理由:)
442 sql-server  types 

8
为什么在创建索引时使用INCLUDE子句?
在学习70-433考试时,我注意到您可以通过以下两种方式之一创建覆盖指数。 CREATE INDEX idx1 ON MyTable (Col1, Col2, Col3) - 要么 - CREATE INDEX idx1 ON MyTable (Col1) INCLUDE (Col2, Col3) INCLUDE子句对我来说是新的。在确定是否创建包含或不包含INCLUDE子句的覆盖索引时,您将为什么使用它以及您会建议什么准则?

7
SQL Server查询-使用DISTINCT选择COUNT(*)
在SQL Server 2005中,我有一个表cm_production,其中列出了已投入生产的所有代码。该表具有ticket_number,program_type,program_name和push_number以及其他一些列。 目标:按程序类型和推送编号计算所有DISTINCT程序名称 到目前为止,我有: DECLARE @push_number INT; SET @push_number = [HERE_ADD_NUMBER]; SELECT DISTINCT COUNT(*) AS Count, program_type AS [Type] FROM cm_production WHERE push_number=@push_number GROUP BY program_type 这让我感到很困惑,但是它计算的是所有程序名称,而不是不同的名称(我不希望它在该查询中执行)。我想我只是无法解决如何告诉它只选择不同程序名称而不选择它们的问题。或者其他的东西。

9
字符串的UPDATE和REPLACE部分
我有一张有两列的表格,ID和Value。我想在第二列中更改某些字符串的一部分。 表示例: ID Value --------------------------------- 1 c:\temp\123\abc\111 2 c:\temp\123\abc\222 3 c:\temp\123\abc\333 4 c:\temp\123\abc\444 现在,123\中Value字符串是不必要的。我试着UPDATE和REPLACE: UPDATE dbo.xxx SET Value = REPLACE(Value, '%123%', '') WHERE ID <= 4 当我执行脚本时,SQL Server不会报告错误,但也不会更新任何内容。这是为什么?


7
选择语句以查找某些字段上的重复项
您可以通过SQL语句帮助我在多个字段中查找重复项吗? 例如,用伪代码: select count(field1,field2,field3) from table where the combination of field1, field2, field3 occurs multiple times 从上面的陈述中,如果有多次出现,我想选择除第一个以外的所有记录。


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.