问题标签 [tsql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tsql - 如何在 MS SQL Server 2005 中确定表值变量的内部名称
可以使用 #t1 等临时表的名称来确定
如何找到表值变量的名称,即由
目的是能够获取有关表的元信息,使用类似的东西
尽管对于临时表,您必须查看tempdb.sys.tables
而不是sys.tables
. 你在哪里寻找表值变量?
我现在意识到我不能做我想做的事,那就是编写一个通用函数来将表值变量格式化为 html 表。对于初学者,在 sql server 2005 中,您不能传递表值参数:
http://www.sqlteam.com/article/sql-server-2008-table-valued-parameters
此外,在 sql server 2008 中,参数必须是强类型的,因此您将始终知道列的数量和类型。
sql - 如何列出 SQL Server 表的主键?
简单的问题,如何用 T-SQL 列出表的主键?我知道如何获取表上的索引,但不记得如何获取 PK。
sql - 从 CSV 批量导入 SQL
我需要将一个大型 CSV 文件导入 SQL 服务器。我正在使用这个:
问题是我的所有字段都被引号(“”)包围,所以一行实际上看起来像:
我可以以某种方式批量导入它们并告诉 SQL 使用引号作为字段分隔符吗?
编辑:使用 '","' 作为分隔符的问题,如示例中所建议的那样:大多数示例所做的是,它们导入的数据包括第一列中的第一个“和最后一列中的最后一个”,然后它们去吧,把它去掉。唉,我的第一列(也是最后一列)是日期时间,不允许将“20080902”作为日期时间导入。
从我一直在阅读的内容来看,我认为 FORMATFILE 是要走的路,但是文档(包括 MSDN)非常无用。
sql-server - SQL Server Management Studio – 改进 TSQL 编码过程的技巧
我曾经在一个常见的做法是使用结对编程的地方工作。我记得当我们一起编写代码时,我们可以互相学习多少小东西。随着时间的推移,使用新的快捷方式、代码片段等显着提高了我们编写代码的效率。
自从我开始使用 SQL Server 以来,我一直独自一人。我通常会从与我现在无法做到的其他人一起工作中挑选出最好的习惯。
所以这是一个问题:
- 对于使用 SQL Server Management Studio 高效编写 TSQL 代码,您有哪些提示?
- 请将提示保留在您认为可以提高编码速度的 2 到 3 件事情/捷径上
- 请保持在 TSQL 和 SQL Server Management Studio 2005/2008 的范围内 如果该功能特定于 Management Studio 的版本,请说明:例如“仅适用于 SQL Server 2008”
编辑:
恐怕我会被你们中的一些人误解。我不是在寻找编写高效 TSQL 代码的技巧,而是寻找有关如何有效使用 Management Studio 来加速编码过程本身的建议。
我正在寻找的答案类型是:
- 模板的使用,
- 键盘快捷键,
- 使用 IntelliSense 插件等。
基本上是那些使编码体验更加高效和愉快的小事情。
sql-server - T-SQL:如何从一个表中获取其值与另一表中的值完全匹配的行?
鉴于以下情况:
如何查询@a 中与@b 完全匹配的所有值?
{@a.pkid = 1, @b.otherID = -1}
不会返回(3 个值中只有 2 个匹配)
{@a.pkid = 2, @b.otherID = -1}
将被返回(3 个值中的 3 个匹配)
重构表是一种选择。
编辑:我在 James 和 Tom H 的回答中取得了成功。
当我在@b 中添加另一个案例时,它们有点不足。
假设这应该返回另外两行 ({@a.pkid = 1, @b.otherID = -2}
和{@a.pkid = 2, @b.otherID = -2}
,它不起作用。但是,对于我的项目来说,这不是问题。
sql - 您如何处理数据库表的配置管理?
您如何处理数据库表的源代码控制管理和自动化部署(配置管理)。我在 SQL Server 环境中工作,很容易为存储过程/触发器/函数甚至作业编写删除脚本和创建文件。处理创建新数据库表的脚本也很容易。但是,如果稍后您想修改该表,则不一定只删除它并使用新字段重新创建它,以免丢失数据。有没有一种自动化的方法来处理这个问题?您是否在更新新更改的表后编写临时表并回填?(如果有很多数据可能会很粗糙)
任何建议将不胜感激。
sql-server - 将子查询中的多个结果组合成一个逗号分隔值
我有两张桌子:
关系是一排TableA
-多排TableB
。
现在,我想看到这样的结果:
这不起作用(子查询中有多个结果):
如果我在客户端进行处理,这是一个微不足道的问题。但这意味着我必须在每个页面上运行 X 个查询,其中 X 是TableA
.
请注意,我不能简单地执行 GROUP BY 或类似的操作,因为它会为TableA
.
我不确定使用 COALESCE 或类似方法的 UDF 是否可行?
sql - 如何仅从 SQL Server DateTime 数据类型返回日期
回报:2008-09-22 15:24:13.790
我想要没有时间部分的日期部分:2008-09-22 00:00:00.000
我怎么能得到那个?
sql-server - 如何在表中查找行大小
我的一个数据库已经接近允许的大小。
为了找出包含最大数据的表,我使用了以下查询:
它返回了包含最大数据的罪魁祸首表。
作为下一步,我想根据大小清理行。为此,我想根据大小对行进行排序。
如何使用查询来实现这一点?有什么工具可以做到这一点吗?
sql-server - Performance implications of computed columns in SQL Server 2005 database?
The situation: we have a large database with a number of denormalized tables. We frequently have to resummarize the data to keep the summary tables in synch. We've talked on and off about using computed columns to keep the data fresh. We've also talked about triggers, but that's a separate discussion.
In our summary tables, we denormalized the table such that the Standard ID as well as the Standard Description is stored in the table. This inherently assumes that the table will be resummarized often enough so that if they change the standard description, it will also change it in the summary table. A bad assumption.
Question: What if we made the Standard Description in the summary table a derived/computed column which selects the standard description from the standard table? Is there a tremendous performance hit by dropping a computed column on a table with 100,000-500,000 rows?