问题标签 [quoted-identifier]
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.
sql-server - 为什么quoted_identifier 必须打开才能使用过滤索引?
这里有很多关于 SO 的问题和关于如何处理这种混乱的在线文章,但我的问题更为根本:为什么?带引号的标识符似乎是引擎如何解释查询的属性,与其中的数据无关。就索引和插入/更新查询而言,谁在乎呢?为什么这个设置很重要?
假设您允许插入/更新成功,并且在具有过滤索引的表中将quoted_identifier 设置为OFF - 究竟会破坏什么?
sql - 添加过滤索引后,由于引用的标识符,更新语句失败
我刚刚向现有表添加了过滤索引,现在插入/更新查询不适用于该表。在执行更新语句之前,我已经将quoted_identifier 设置为打开和关闭,但它仍然始终失败。
请注意,这里没有涉及存储过程,只是一个赤裸裸的更新语句。大多数答案都处理存储过程,这不是这里的问题。
sql - 我不断收到错误“关系 [TABLE] 不存在”
我一直在尝试查询数据库中的两个表。在服务器资源管理器中,我可以看到两个表,甚至可以看到其中的列。我们将它们称为 Schema.table1 和 Schema.table2,其中“Schema”的第一个字母大写。我尝试运行以下查询:
我在哪里得到以下错误:
错误:关系“schema.table1”不存在
然后我尝试运行下一个查询,认为架构中的大写可能会有所不同。
但同样的错误仍然存在:
错误:关系“Schema.table1”不存在
后来我尝试使用“SET search_path to”Schema1”指定模式路径,并在表上运行查询,这再次为我提供了相同的错误。任何想法或帮助将不胜感激。
java - 如何解决错误:关系“user_login”不存在位置:PostgreSQL 中的 22
尝试获取 ResultSet 时出现以下错误:
关系“user_login”不存在位置:22
我有一个表名User_Login
,但错误表明表名小写。我一直在尝试调试它,但我无法找出根本原因。下面是我的代码片段。请看一下。
堆栈跟踪:
org.postgresql.util.PSQLException:错误:关系“user_login”不存在位置:22
sql-server - 根据 QUOTED_IDENTIFIER 的设置,存储过程的查询计划如何不同?
在 SQL-Server 2016(使用 Management Studio 2016)上,我创建了两个相同的存储过程:一个使用 SET QUOTED_IDENTIFIER OFF编译,另一个使用ON编译。
这是使用 ON 执行的查询计划,即时结果,我们可以看到使用了正确的索引搜索:
https://www.brentozar.com/pastetheplan/?id=S1ZNIpZ8z
然后这就是问题所在,使用 OFF 执行,索引扫描花费了 5 秒以上:
https://www.brentozar.com/pastetheplan/?id=SkCOUTWLf
以下是有罪索引的 DDL:
我不明白查询计划如何完全受此 SET 选项的影响,因为它似乎与应该执行的方式没有联系?
sql - 如何对 PostgreSQL 架构内的表进行选择查询?
我在 AWS 上设置了一个 RDS 实例。我无法毫无问题地连接到 PostgreSQL 数据库。
当我尝试对表运行选择语句时,我得到了奇怪的结果。它只列出登录的用户。表是User
。我看到该表在public
架构内。我尝试搜索SELECT * From public.User
但失败了。我在这里想念什么?该表确实存在,因为我可以在 PSequel 中看到它的数据,我只想使用 select 查询数据。
sql - Google Data Studio:使用 PostgreSQL 数据源中的日期字段时出现列不存在错误
希望对 Google Data Studio 中的问题有所帮助。
我正在尝试使用我的 Postgres 数据库中的数据创建一个包含累积和每月帐户创建的时间图。
我正在连接到使用自定义 SQL 从 Postgres 数据库中提取的数据源。当我在数据工作室中运行查询时,它会毫无问题地拉入列:
但是,当我尝试使用 Dimension "createdAt" 和 Metric "count" 创建图表时,出现以下错误:
“查询返回错误。
我尝试使用 TODATE 更改“createdAt”列的格式,但是当我使用如下公式时出现“无效公式”错误:“TODATE(createdAt, 'DEFAULT_DECIMAL','%Y%m%d' )"
关于错误的根本原因以及如何解决它以创建所需图表的任何建议?
谢谢!
antlr - 无法在 Antlr4 中使用自定义分隔符实现带引号的字符串
我正在尝试为 oracle Q 引用字符串机制实现词法分析器规则,其中我们有类似 q'$some string$' 的东西
在这里,您可以使用任何字符代替 $,而不是空格、(、{、[、<,但字符串必须以相同的字符开头和结尾。接受标记的一些示例是:q'!some string!' q 'ssome strings' 注意 s 是自定义分隔符,但也可以在字符串中包含它,因为我们只会以 s 结尾
这是我尝试实施规则的方式:
我已经检查了从 !isValidEndDelimChar() 获得的值,并且我在正确的地方得到了一个错误的谓词,所以一切都应该工作,但 antlr 只是忽略了这个谓词。我也尝试过移动谓词,将该部分放在单独的规则中,以及其他一些东西,经过一天半的研究,我终于提出了这个问题。
我也尝试过以其他方式实现它,但似乎没有办法在 antlr4 中实现自定义字符分隔字符串(antlr3 版本曾经工作)。
sql-server - 传递给字符串变量时,SQL Server 忽略双引号
我在 SQL Server 2016 中编写了一个生成 XML 文件的存储过程
创建 XML 文件时,我需要明确指定编码。这就是为什么我将显式编码添加到 XML 内容的结果中。
问题是编码所需的双引号 " 在传递给变量时被忽略。这就是为什么当我在浏览器中打开生成的 XML 文件时它看起来完全空白。但是当我在文本编辑器中打开时,一切都是显示正确,除了 1.0 和 UTF-8 周围没有双引号(例如<?xml version=1.0 encoding=UTF-8?>
)。添加双引号后,我就可以在浏览器中正确查看 XML 文件内容。
这个选项没有帮助。
但是当我单独运行这个语句时,会出现双引号。
sql - Oracle ORA-00942: 表或视图存在时不存在
我正在尝试习惯 Oracle,安装 express 并由第三部分程序创建一些表。当我登录到 sqlplus 时,我不能简单地使用 SELECT * FROM table....
但是当我尝试选择所有它运行时:
而且我不知道为什么...