Questions tagged [sql]

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.

Filter by
Sorted by
Tagged with
0 投票
3 回答
5149 浏览

复制一个有索引但没有数据的 Oracle 表

我想在 Oracle 中制作一个表的副本并包含索引,但我不想复制数据。最好的方法是什么?

0 投票
1 回答
292 浏览

参照完整性

如果主表的主键被其他表中的外键引用,应该遵循哪种方法来删除主表?

我知道关于删除级联,还有其他方法吗?这是最佳实践

谢谢

0 投票
6 回答
3293 浏览

sp_MSforeachtable 排序依据

sp_MSforeachtable用来获取数据库中特定表的行数。我希望这些按名称排序。

如何添加ORDER BY子句sp_MSforeachtable

0 投票
5 回答
734 浏览

我的慢 T-SQL 查询需要彻底重新思考

大家下午好。我将在它的全部荣耀中发布存储过程。随意将其撕成碎片。作者不会介意的。

现在最终所有这一切都是返回一些记录以及针对它们发生特定操作的次数。

一个小子集看起来像。

项目 描述 查看打印的电子邮件

希望你能看到发生了什么。

我想要一个在特定日期范围内针对特定站点的特定客户对它们执行过操作的项目列表,并且查询应该可以根据父类和分类进行过滤。好的

第一个选择返回所有符合选择条件的不同项目。

其他 3 个查询都只返回针对每个项目的 1 种操作类型的计数。即使针对少量数据,查询也很慢。这永远不会上线,它只是行不通。

希望您能看到“作者”方式的错误并纠正他/她。

0 投票
1 回答
4543 浏览

如果值不存在,但仅适用于某些条件,如何插入表中?(MS SQL 服务器)

我对 SQL 很陌生,但需要编写一个查询来执行以下操作。使用 MS SQL Server 2005。

在定义表中,定义Type可以是TypeA、TypeB……TypeZ。我想确保对于某个配置文件类型,ProfileTypeA 定义具有所有类型,TypeA -> TypeZ。

但有些类型已经存在于表中,我不想重复。

  1. 我需要获取 ProfileType = ProfileTypeA 的所有实例

  2. 然后获取第一个 Profile.profileID

  3. 然后检查DefinitioninProfile 表以获取其中profileID = Profile.ProfileID 的DefinitionID 列表

  4. 然后对于所有这些定义 ID,检查是否有一个名为“TypeA”的定义类型,如果没有插入,则忽略它。然后对'TypeB'做同样的事情,对typec重复,.. typeZ

返回第 2 步并获取下一个 Profile.ProfileID 并为该配置文件 ID 重复 3 和 4。

0 投票
1 回答
341 浏览

用于数据库支持的集合的 Java 库

我正在为 Java 编程语言寻找一个高效的 sql 支持的集合库。

我需要进行非常适合 Collections API 的数据库操作,有没有什么可以成为一个很好的桥梁,或者我必须自己做。

0 投票
3 回答
4250 浏览

Postgres:一张多列的表还是多列少的几张表?

我的问题与 Postgres 的工作原理有关:

我有一张桌子:

在 other_table_id1、state 和 other_table_id2 上有附加索引。

该表非常大,并且在列上看到了很多更新:other_table_id1,state。开始和结束列的一些更新,但其余的都是不可变的。(Astate 是列状态的枚举类型。)

我想知道将两个最常更新的列拆分到单独的表中是否有意义。我希望获得的是性能,因为当我只是查找该信息时,或者减少更新的重量,因为(也许?)读取和写入较短的行成本更低。但是,当(偶尔)需要一次获取特定项目的所有数据时,我需要权衡连接成本。

有一次,我的印象是每一列都是单独存储的。但后来,当我在某处读到减小表一侧列的宽度确实会对使用另一列查找数据时的性能产生积极影响时,我修改了我的想法(因为行存储在一起,所以总行长度会更短)。所以我现在的印象是一行的所有数据都物理存储在磁盘上。所以建议的表格拆分听起来会很有帮助。当我当前写入 4 个字节来更新状态时,我是否相信我正在重写实际上永远不会改变的 64 个字节的文本(名称、类型)?

我对表“规范化”不是很有经验,也不熟悉 Postgres 的内部结构,所以我正在寻找建议和特别是最佳实践来估计权衡,而不必先做这项工作,然后确定这项工作是否值得. 这种变化需要在重写已经高度优化的查询方面付出相当大的努力,所以我宁愿深入了解我可以期待什么结果。谢谢,M。

0 投票
1 回答
72 浏览

你如何得到两个case语句的乘积

我正在尝试使用以下代码组合案例语句并不断遇到错误。

0 投票
4 回答
3365 浏览

在 SQL 中插入重音

我有口音的问题(例如:é、à、è 等)。当我直接插入 SQL Server 2008 Management INSERT INTO LETTRE_VOIT (LIB_PORT) VALUES ('Payé')时,它运行良好。但是当我在 C# 上加载此语法时,它不起作用。

UpdateEtClotureList.sql 的内容:

结果是 Pay*,而不是 Payé , * 是一个方形符号。

提前谢谢你。

PS:我使用 nvarchar 而不是 varchar 类型nvarchar

当我更改语法时:

我有: 结果

当我通过 SQL Profiler 查看时: 在此处输入图像描述

0 投票
2 回答
95 浏览

当行数多于 IN 值时,MYSQL 返回 null

我很难找到合适的标题。

我正在开发一个包含两个表的消息传递系统,一个包含所有不同的对话(对话中的用户和对话的 uid),另一个包含用户之间的消息。

对于每个对话,我使用对话的 uid 和 user_id 为对话中的每个用户创建一行。在对话中可以只有 2 个用户,但也可以有更多(3、4、5、6 等)

我的 SQL 语句有问题,我不知道如何解决。问题是,当我们说 3 个用户之间有对话时,之后可以说其中 2 个用户想要在没有第 3 个用户的情况下开始私下交谈。当 2 个用户已经与其他用户进行对话时,如何使 SQL 语句不返回任何内容。这样我就可以在我的表中添加 2 行具有自己的私有会话 ID 的新行。

conversation_list表格如下所示:

现在我的 SQL 代码是这样的:


15 30 50 per page
1
2 3 4 5
1498226