在SQL中安全地更新计数(字段)

我想在userpost上实现如此相似的标记。我有一个名为tag_data的表,其中包含tagId、title和count列。我有一个单独的表,链接一篇文章和它可能使用的许多标记之间的关系 这里的问题是,我如何获得当前计数,增加或减少1,并安全地存储它。因此,在我选择和更新期间,没有其他连接/线程会更新它?我假设您也需要新的计数,其他方面,这是一个简单的问题,只需更新set count=count+1即可 如果数据库在更新时支持output子句(例如SQL Server 2K5或2K8): 否则:

如果不按顺序对SQL SELECT查询进行分区,结果是否具有确定性?

我有一个SQL SELECT查询,它返回很多行,我必须将它拆分成几个分区。即,将max results设置为10000,并使用递增的第一个结果(0,10000,20000)迭代调用查询选择时间的行。所有查询都在同一个事务中完成,我的查询获取的数据在此过程中不会发生更改(但这些表中的其他数据可能会发生更改) 仅使用普通选择是否可以: select a from b where... 或者我是否必须使用order by和select: select a from b where ... order

TSQL-生成一个文本浮点值

我理解比较浮动的许多问题,并对它们在本例中的使用表示遗憾——但我不是表格作者,只有一个小小的障碍需要克服 有人决定使用浮动,正如您所期望的那样使用guid。我需要检索具有特定浮点值的所有记录 sp_help MyTable -- Column_name Type Computed Length Prec -- RandomGrouping float no 8 53 以下是我天真的尝试: --yields no results SELECT RandomG

将英国操作系统坐标从东/北转换为经度和纬度的SQL函数

请某人发布一个SQL函数,将东/北距转换为经度/纬度。我知道它非常复杂,但我还没有找到任何人在t-SQL中记录它 这是可行的,但我无法将其转换为SQL 我有16000个坐标,需要将它们全部转换为lat/long 这是我到目前为止所拥有的,但它还没有通过while循环 DECLARE @east real = 482353, @north real = 213371 DECLARE @a real = 6377563.396, @b real = 635625

Sql 多个主键

当我执行“sp_help tableName”时,我看到一个约束,上面写着“主键(集群)”,它在标题“constraint_keys”下列出了三列 这是否意味着这些列值中的任何一个都将唯一地标识该行,或者所有三列的值一起唯一地标识该行?这意味着所有三列组合成一个唯一的行。只要组合是唯一的,任何单独的列都可以有重复项。所有三个组合都是主键 这在概念上类似于索引多个字段的覆盖索引。这意味着这三个索引将唯一地标识任何特定条目 例如,假设您有一个“orders”表,其中包含以下字段: 订单: 客户ID主

Sql 如何在Rails 3中按时间片(总和、平均值、最小值、最大值等)获取聚合数据

如何在Rails 3中创建按时间片聚合的活动关系查询 我想构建查询,对于每n分钟间隔,可以为具有特定名称的计数器的每个样本返回min、max、avg、sum、count create_table "samples" t.integer "counter_id" t.string "name" t.float "value" t.datetime "created_at" end 这应该可以做到: Samples.where("SQ

Sql 如何填充表格';从其他表中删除外键

我有以下表格,其中translation为空,我正在尝试填充: translation { id translated language_id template_id } language { id langname langcode } template { id tplname source domain total } 要填充的源数据translation是我从外部CSV文件填充的临时表:

ASP.Net MVC3 SQL可为空

我目前正在从事一个ASP.NETMVC3项目。我已经设置好了它,所以我的sql数据库根据我创建的类创建了它的表,我需要知道是否有办法设置它,以便变量可以为null,例如: public class Cart { [Key] public int RecordId { get; set; } public string CartId { get; set; } public int VideoId { get; set; }

从SQL数据库获取要在Bing地图中使用的地理位置

基本上,我有一组地理位置和其他信息,对应于SQL数据库表中的每个点。我有一个Bing地图网站,带有复选框,可以设置不同的过滤器,为其显示地理位置PIN。我基本上想知道如何根据给定的复选框最有效地查询数据库和更新地图上的PIN 或者,由于随着表大小的增加,重新查询可能会很昂贵,我如何加载整个数据库并根据选中的复选框过滤器仅显示某些PIN 在研究这一点时,我找到了关于GeoRSS文件的答案,但这些解决方案针对的是一次加载所有文件并将继续保留在视图中的点。在这个过程中,似乎无法应用过滤器(无需进一步查

Sql 从字段中选择多个子字符串

我试图创建一个SQL查询,从字段中选择一条记录。下面是一个未编辑字段中内容的简短示例: <Name>Example1</Name> <Type>String</Type> <Nullable>False</Nullable> <AllowBlank>False</AllowBlank> <Prompt>Start Date (DD-MMM-YYYY)</Prompt> <

Sql Oracle在备份过程中是否使用临时表

Oracle在备份过程中是否使用临时表 这在休息室里引发了许多对话,但我们的专业知识有限 我很确定,如果我错了,请纠正我,但要完全符合ACID的要求,您需要一种在数据库脱机时存储数据的方法,即使是暂时的 SQL Server会将数据写入事务日志,然后在数据库恢复联机后,它就会跟进—但我不确定Oracle是否遵循同样的想法 谢谢如果“备份”是指使用ALTER Tablespace tbname BEGIN Backup或ALTER database BEGIN Backup将表空间或整个数据库置于

Sql 创建具有左侧/右侧的用户定义运算符

我开始用pl/sql开发一个Oracle操作符。指南中有一些例子,但现在我坚持一些东西 在我所看到的所有例子中,都是这样的: CREATE OPERATOR Contains BINDING (VARCHAR2, VARCHAR2) RETURN NUMBER USING text.contains; 我们在WHERE子句中这样使用它: SELECT * FROM MyEmployees WHERE Contains(resume, 'Oracle')

转换整表SQL的数据

我是SQL的新手,有一些问题: 如何转换SQL表(我使用的是SQL Server 2008)中的列(在我的表中,行数超过10000行): 第一列是nvarchar(50),包含不同的字符串值,例如2013121142319,它是日期和时间-2013/12/11 14:23:19。如何将此值转换为日期和时间并影响此列中的所有行(超过10000行) 我还有一列数字,所有这些数字都是从#+number开始的,例如#8339274。如何删除所有行中所有数字之前的字符“#”?请注意,此列中的数字长度不同,

Sql Oracle改进查询where子句

我有个小问题。我要执行该查询: WHERE (column1 = 'tetxt1' and column2 = 'tetxt2' and column3 = 'tetxt3 ) OR (column2 = 'tetxt2' and column3 = 'tetxt3' ) OR (column1 = 'tetxt1' and column3 = 'tetxt3' ) OR (column1 = 'tetxt1' and column2 = 'tetxt2' ) OR ( column3

Sql 如何编写查询:“如何编写查询”;如果不存在,则插入不存在的行;仅使用第三个表的外键

我有三张桌子: 资源表:ResourceID、ResourceValue、ProjectName 翻译表:ResourceID、translatedValue、language。(这是保存resourceValue的所有当前翻译的表。基本上,资源表中的一个resourceValue将翻译为多语言版本并插入到此表。) TranslationPool:ResourceValue、TranslatedValue、language。(此池用于保存ResourceValue的所有类型的翻译,可能正在使用,

Sql 插入时丢失特殊字符

我正在使用Oracle11g并尝试插入一个包含特殊UTF8字符的字符串,例如“(ε-c”) NLS_NCHAR_CHARACTERSET AL16UTF16 NLS_CHARACTERSET WE8ISO8859P1 当我将上面的字符串复制并粘贴到NVARCHAR字段中时,效果很好 如果我执行下面的命令,我会在字段中得到一个颠倒的问号 insert into title_debug values ('(ε- c'); 其中,title调试表由一个名为title的nvarhar2(10

Sql 并发表创建

有一种情况,即可以从不同的位置创建表。 因此,我有大约10个工作应用程序,它们可以同时尝试创建同一个表。 问题。如何同步它们?所以我没有任何例外或错误 当一天结束时,应用程序的所有实例都试图创建一个新表,因此当出现类似00:00:00的情况时,它们都将尝试创建它 对不起,对于可能的“愚蠢问题”,谷歌已经搜索了一段时间,没有结果。 多谢各位 请您通读下面的代码好吗。。。使用隔离级别可序列化的处理并发执行 CREATE PROCEDURE [dbo].[GetNextID](

如何在IBM betezza aginity sql数据库工作台中导出大型表时添加列名

我需要将一个表(60 GB)从IBM netteza aginity sql数据库工作台导出到csv文件 但是,即使我将“跳过行”设置为0,列名仍然丢失 因为文件太大,我无法在Excel或记事本/记事本++中打开和编辑它 如何添加列名 任何帮助都将不胜感激 谢谢据我所知,Aginity Workbench没有自我记录导出数据的功能。此外,据我所知,导出函数中的“跳过行”功能已禁用,与添加列文档无关。对于导入,它肯定会让您跳过列标题行 编辑:在NPS 7.2的GA中,已将“IncludeHeade

Sql 如何在别名字段上执行函数?

我在PostgreSQL中有一个视图,其中我使用COALESCE函数从表中提取第一个NOTNULL字段。i、 e SELECT SRC.SAP_SETNODE.SUBSET_CLS, COALESCE( SETNODE_13.SUBSET_NAME, SETNODE_12.SUBSET_NAME, SETNODE_11.SUBSET_NAME, SETNODE_10.SUBSET_NAME, SETNODE_9.SUBSET_NAME, SET

SQL/SpatiaLite:合并包含一些相同行的两个表,并保留一些不相同的行

我需要合并两张桌子。它们都有三个匹配的列名和一些其他列名。数据不匹配。我并不是在尝试对值进行连接——我所能描述的最好的方法是选择性附加。我尝试了union,但由于列的不同,它不起作用。。甚至可以这样做吗?或者我必须先创建一个新表,然后从另外两个表中插入 澄清图片: 试着这样使用union: select somevalue1,somevalue2,somevalue3,value1_t1,value2_t1,cast(null as int) as value2_t2,cast(null as

sql查询以查找包含同一Oracle表中其他记录ID的记录

我需要对Oracle 11数据库运行SQL查询,该数据库将检索记录,其中一条记录本身的值位于单独的列下,这些列保存同一表中一条或多条其他记录的自动生成ID 因此,表中的记录如下所示: | FOREIGN_PARTY_ID | ORG_NAME | RELATED_PARTY_ID1 | RELATED_PARTY_ID2 | ... | 1001 | null | null | null | ... | 1002

Sql 从表中获取参数中的total_days值

我有一个表,其中有一个列名为total_days,该列包含员工休假的天数 我想做的是,我想在参数say@NoOfDaysForDelayApproval中使用上述列 我试过的是 我得到如下所示的期望输出 [![在此处输入图像描述][1][1] 请建议怎么做 更新 抱歉,无法格式化它请尝试将变量声明为decimal而不是int declare @NoOfDaysForDelayApproval decimal(9,2) 看起来,Total_Days列的数据类型是decimal,因此您可以创建一个

Excel中的dbf文件与SQL

每天我都需要为销售人员制作一份报告,我们有两个dbf文件,我想用Excel制作报告。来自1个dbf文件的报告工作得非常完美,但我不知道如何在VBA中连接2个dbf文件 我必须完成以下脚本: 选项显式 子ReadDBF() Dim con作为对象 将遥感器作为对象 作为字符串的Dim DBFFolder 将文件名设置为字符串 Dim FileName1作为字符串 将sql设置为字符串 将myValues()设置为字符串 作为整数的Dim i 作为整数的Dim j Application.Scree

为什么有时要在Postgresql中添加条件来加速查询?

我有两个表,由Django ORM生成-core\u instauser和core\u instauser\u followers。有关CREATETABLE语句,请参见下文 查询获取几个帐户并按某列排序(计数后接)所需时间超过30秒: # SELECT # T3."id" # FROM "core_instauser_followers" # INNER JOIN "core_instauser" T3 ON ("core_instauser_followers"."to_instau

Sql Oracle分析查询

总之,我需要一些帮助来写一个查询,这里是截取的数据 TABLE_NAME SIZE_BYTES DATE ---------------------------------------- --------------- --------- TABLE_A 346,817,560,576 17-SEP-16 TABLE_A

Sql 具有多个外键的数据库链接到不同属性上的同一模型

我很难建立我的DB关系,如果有人能给我一点帮助,我将不胜感激 我有一个表名为Person,另一个表名为Company,Company有很多人,而Person属于公司 在这里,特技公司有很多人抛出了一个名为Person的属性,还有很多人抛出了另一个名为administrator的属性 看起来像 Coca-cola = Company.new jonathan = Person.new / nicolas = Person.new Coca-cola : { person: jonathan,ni

where子句中使用的SQL Server查询性能视图

我对sql server中的查询有问题 我在where子句中使用了如下视图 SELECT ... FROM T1 WHERE (@param = 1 AND EXISTS (SELECT 1 FROM VIEW...)) // in this case => use view OR (@param = 2 AND T1.Id = ...) // in this case => no view 我在执行计划中看到,视图总是构建的。但我不想那样 有什么想法吗?将参数值检查移动到子查

Sql select语句中的NVL有问题

我需要显示一个供应商地址,它由三个连接字段组成,如地址、状态、邮政编码。我唯一的问题是其中一个供应商的地址有一个空值,所以它读取空状态ZIP 我试过: SELECT vendor_name, NVL(vendor_address1, ' ') || ' ' || vendor_state || ' ' || VENDOR_ZIP_CODE AS "Complete Address" from ap.vendors; 以及 SELECT vendor_name, NVL(to_char(vend

更新选择不在postgresql中工作

我有一个要求做一些订单的基础上更新。我已经在Oracle中为此创建了一个查询,下面给出了该查询 update (select work_id work_id, task_id task_id from TRANSACTION s where s.task_id is null order by s.dynamic_key) set task_id=2, work_id=SEQ_TRANS.NEXTVAL. 在上面的查询中-SEQ_TRANS是序列 此查询在oracle中运行

在SQL中的子查询中使用派生表

我有这些关系: COURSE(COURSEID,SUBJECT) LESSON(COUSEID,PRESENTSTUDENTS,DATE) 我必须选择课堂上平均人数最多的课程 我尝试: SELECT COURSEINFO.AVERAGESTUDENTS FROM (SELECT COURSE.COURSEID,AVG(PRESENTSTUDENTS) AVERAGESTUDENTS FROM LESSON,COURSE WHERE LESSO

进行SQL查询

输入数据 +---------+----------------+-----------+-----------------+--------------+------+ | country | tgtschema_name | tablename | tgttableversion | col_function | flag | +---------+----------------+-----------+-----------------+--------------+------+ |

Sql 连接不同的数据库表

我在Access中有两个从数据库中提取的表。没有主键链接这两个表,因为数据库来自不同的程序 使用SQL,我需要两个表中的所有信息来拉入查询,这就是我遇到的问题。这两个表提取相同的数据,但它们的列标题可能不一定相同。现在,我假设他们是。我怎样才能得到它,使两个表中的数据一起进入正确的列 下面是一个代码示例(由于某些原因,我无法发布真正的代码): 为了进一步解释这一点,我希望表中有一列包含所有信息的vehiclecolor、vehicleweight和licenseplate。目前,按照我的方式,它

Sql 最多只能插入一个数字?

我有一个现有的存储过程,它将购物车项目作为单独的行返回,其中一个字段是所述项目的Quantity 在促销优惠的情况下,例如购买2件,免费获得另2件,那么相同的产品将返回两行,每行有单独的价格和数量。在本例中,为2行,每行中的数量为2 然后,该过程根据库存量检查每一行,并在需要时通过插入更新订单的新表来更改该行。通常情况下,每种产品一次都有很多存货,但在极少数情况下(通常是终端产品),存货可能少于购物车总量所允许的数量 在这个例子中,假设还剩3个。该过程将正常比较每一行,并查看库存中有3个,而该行

sql server中如何使用case求和处理空值

我想把结果放在单行中,按sys\u service\u id,stat分组--------------- 但是,这个结果如下所示:- sys_service_id Idle Long Halt Short Halt Running 2823 00:33:12.0000000 00:00:00.0000000 00:00:00.0000000 00:00:00.0000000 2823 00:00:00.0000000 1

T-SQL到Oracle查询转换

我一直在尝试将我编写的一些SQL Server查询转换为Oracle。我在这里的pastebin上有我最初的SQL查询:但我一次只处理一个块 这是我目前正在处理的块(这是最重要的块) 原始查询: declare @name varchar(max) = 'SPRING 1 2017 RTP'; declare @term varchar(30), @session varchar(1), @loc varchar(2), @id nvarchar(255); set @term = '17SP1

SQL Server 2008 R2:VARCHAR列上的透视表

表格: CREATE TABLE EMPDetails ( ID int, EmpName varchar(20), ColumnName varchar(20), ColumnValue varchar(20) ); INSERT INTO EMPDetails Values(1,'S','Company','Microsoft'); INSERT INTO EMPDetails Values(1,'S','Profession','Database'); I

两列SQL的唯一组合值

在SQL中,有没有一种方法可以告诉数据库不允许两列组合的重复值?类似于我们如何使用不能重复的唯一id 比如说 虽然前四个名字都是重复的, 而姓氏重复出现,直到重复组合时才会抛出错误 目前我正在使用sqlite。非常确定您有复合主键或复合唯一约束 CREATE TABLE my_table ( . . . last_name VARCHAR NOT NULL, first_name VARCHAR, CONSTRAINT name_unique UNIQUE (last

SQL Server 2014-包含2个数据集的exec过程

我有一个返回2个数据集的过程。我需要执行一次该过程,并将两个数据集插入两个临时表中。这可能吗?如果可能,怎么可能 CREATE PROCEDURE Test AS SELECT Country = 'Germany', City = 'Berlin', Qty = 10 SELECT Id = 5, Color = 'Red' 大概是这样的: CREATE TABLE #tmp1 (Country VARCHAR(MAX), City V

尝试向表中插入值时,错误消息SQL命令未正确结束

我试图向表中插入值,但它不断给我错误消息,表示命令没有正确结束。我一次又一次地检查,我没有发现我遗漏了任何逗号、分号,表名是正确的(我也一次又一次地检查),所有列名都是正确的,顺序也正确(我也一次又一次地检查),命令的拼写也正确。那么我的代码怎么了 insert into fruits (fid,fname,quantities) values (1,'apple',3), (2,'orange',2), (3,'banana',5); 正如您将问题标记为oracle一样,它不支持

Sql 简单Case语句中的语法错误

第一次尝试使用Case语句,这就是代码如此小/简单的原因。返回语法错误,可能是我的表名[Impact] Select Case [Impact] Case Is = 0 [New Impact] = "1" End Select 感谢您的帮助。我四处寻找解决方案,但大多数情况下,答案都与代码中的其他内容相关,而不是这个小测试代码中的任何内容 Microsoft Access案例语句只能在VBA代码中使用 结构是这样的: Select Case test_expr

&引用;串联;来自select的PostgreSQL ints

我有一个包含从0到9的整数的数字表。 我想做的是加入三次或更多次,使这个值成为一个类似于0,…,124125,…,998999的值 我在做这样的事情: SELECT * FROM Digits AS Fir JOIN Digits AS Sec ON TRUE JOIN Digits AS Thi ON TRUE; 但我得到的是: --+-->-- 0 | 0 | 0 0 | 0 | 1 0 | 0 | 2 0 | 0 | 3 0 | 0 | 4 0 |

SQL Server studio函数变量作用域错误

我试图使用一个函数作为练习,其中有两个字符串由分隔(例如:“1;22;333;444;5555;666”)和相同格式的另一个字符串 我想检查在大数据集的情况下,两个字符串中的元素是否相同 范例 @string1 : 'a','b','c' @string2 : 'a','g','c' 在本例中,我希望答案为false,因为B和C不在第二个字符串中 例2 @string1 : 'a','b','c' @string2 : 'a','b','c' 在这种情况下,答案将是正确的 到目前为止,我

从SQL中的多数据列提取数据

我正在HOLISTICS中创建一个销售排行榜,列“user\u id”是一个多数据列 下面是“用户id”列的快照: 我需要显示用户的“名称”部分。我尝试使用CONVERT,甚至是JSON_值,但这两个都没有被Holistics识别 我使用了CAST,但用户id仍然是数字形式 以下是我的代码: 以下是数据输出: 你能帮我做些什么来显示销售人员的真实姓名吗 我是这里的新手,这是我的第一篇帖子,这就是为什么我所有的剪贴画都放在一个链接表单中。要从JSON数据中选择一个特定字段(JSON是用户i

在一条SQL语句中检索列表列表

我有两个表(比如说)Person和Parent,其中Parent-Person是多对一关系,因此一个人可以有多个父母,直接的和间接的(祖父母等)。 父项有外键personId,Person的主键当然是personId Person table Id <PK> Parent table Id<PK> ParentPersonId <FK into Person > Person has rows with values PK 1 2 3 Parent h

更新表SQL缺少表达式错误

错误: 00000-“缺少表达式” 为什么不起作用?删除表前缀和额外的* UPDATE factorial SET factorial.SQUARE = factorial.num**2, factorial.ROOT = SQRT(factorial.num); 小心使用没有where子句的更新,因为它们将更新表中的所有记录。我删除了不一致的数据库标记。请仅使用您正在使用的数据库进行标记。您拼写错误了factorial UPDATE factorial SET SQUARE = nu