当前位置: 首页 > 面试题库 >

Amazon Redshift错误-错误:0A000:Redshift表不支持指定的类型或功能(每个INFO消息一个)

谭卜鹰
2023-03-14
问题内容

运行以下查询时:

WITH sublevels AS (
SELECT 1 UNION ALL 
SELECT 1 UNION ALL
SELECT 1), FIELDA AS (SELECT (ROW_NUMBER() OVER ())::INT sublevel 
FROM sublevels sl1, sublevels sl2, sublevels sl3)
SELECT TOP 10 
FIELDB, 
sublevel, REPLACE(REGEXP_REPLACE(REGEXP_SUBSTR(UPPER(FIELDC), 'FROM \\S+', 1, sublevel), 'FROM ', ''),')','') ALIASA
FROM TABLEA
JOIN FIELDA ON sublevel <= REGEXP_COUNT(UPPER(FIELDC), 'FROM ')
WHERE ALIASA != 'ABC'
AND lower(split_part(ALIASA, '.', 2)) IN (
SELECT DISTINCT lower(t.table_name)
FROM information_schema.tables t
INNER JOIN information_schema.columns c on c.table_name = t.table_name AND c.table_schema = t.table_schema
WHERE lower(column_name) similar TO '%(aaa|bbb|ccc)%')

我收到以下错误:

错误:0A000:Redshift表不支持指定的类型或功能(每个INFO消息一个)。

我不知道为什么,如果我单独运行查询,它们可以正常工作:

查询1

WITH sublevels AS (
SELECT 1 UNION ALL 
SELECT 1 UNION ALL
SELECT 1), FIELDA AS (SELECT (ROW_NUMBER() OVER ())::INT sublevel 
FROM sublevels sl1, sublevels sl2, sublevels sl3)
SELECT TOP 10 
FIELDB, 
sublevel, REPLACE(REGEXP_REPLACE(REGEXP_SUBSTR(UPPER(FIELDC), 'FROM \\S+', 1, sublevel), 'FROM ', ''),')','') ALIASA
FROM TABLEA
JOIN FIELDA ON sublevel <= REGEXP_COUNT(UPPER(FIELDC), 'FROM ')
WHERE ALIASA != 'ABC'

查询2

SELECT DISTINCT lower(t.table_name)
FROM information_schema.tables t
INNER JOIN information_schema.columns c on c.table_name = t.table_name AND c.table_schema = t.table_schema
WHERE lower(column_name) similar TO '%(aaa|bbb|ccc)%'

问题答案:

在Redshift中:

  1. 针对information_schema的查询仅在领导节点上运行
  2. 针对任何“正常”表的查询仅在计算节点上运行

您不能混合和匹配1.和2。



 类似资料:
  • 前面我们一直使用字符串(String)作为错误消息。实际上,字符串作为错误类型是存在一些局限的。下面是友好的错误类型标准。字符串(String)很好地实现了前两点,但无法做到后两点: Rust 允许自定义错误类型。一般而言,一个“良好”的错误类型: 使用相同类型来表达不同的错误 给用户提供友好的错误信息 方便和其他类型比较 Good: Err(EmptyVec) Bad: Err("Please

  • 问题内容: 我似乎无法弄清楚我的代码出了什么问题,但是我不断得到: 这是我的代码: 当我在查询中将’ ‘而不是设置为变量时,它可以正常工作,因此我知道这是元组语法或其他问题。我已经试过了,没有括号,有第二个变量,有没有单独定义的游标,基本上我能想到的每种方法,我已经研究了数小时,但是却一无所获,所以任何帮助都是超级有用的赞赏。 问题答案: 嵌套列表,元组用于,而不用于。 传递包含参数的平面列表(或

  • 问题内容: 我正在使用JSON请求调用REST服务,并且它以错误响应。 请求内容类型设置为。 如果我在请求中不包含JSON对象,则效果很好。我正在使用JSON库。 我尝试使用几个不同的库,但这没什么区别。 有人可以帮我解决这个问题吗? 这是我的代码: 的值为: 问题答案: 不确定原因,但是从中 删除行解决了该问题。

  • 我用JSON请求调用REST服务,它用HTTP 415“不支持的媒体类型”错误进行响应。 请求内容类型设置为。 如果我在请求中不包含JSON对象,它就可以正常工作。我正在使用JSON库。 我试着使用了几个不同的库,但没有什么不同。 有人能帮我解决这个问题吗? 这是我的代码: 是:

  • 其他的构建测试都不会创建这个文件。我试着如下: IDE上的 : 重建项目 执行外部任务“AssembleBuildVariant” Gradlew AssembleBuildVariant 这是窃听器还是我漏掉了什么?为什么这个文件不是通过IDE上的创建的? 我的构建。Gradle(更新2014-02-10,基于rciovatis的答案): 更新2014-02-14它的工作: null 要获取代码