标签: teradata

我可以在Teradata中查询过程的RequestText吗?

Teradata有一个有用的视图dbc.tables,可用于查询对象.我用它来查看RequestText视图中的成功,但程序似乎编译有点不同.

当我查看RequestText一个过程(TableKind P)时,我得到的是这样的:

ALTER PROCEDURE '468137'xn.'546321987654321345646556213165468654654654'xn COMPILE /* mydb.procedurename */;
Run Code Online (Sandbox Code Playgroud)

这是对存储在别处的实际RequestText的引用吗?我怎么做到的?

我想实际用SQL查询它,而不是将其转储到文本文件中.

原因是因为我需要对它运行LIKE语句来搜索对特定表名的引用.将它转储到文本文件然后手动搜索文本文件是不方便的.

sql stored-procedures teradata

5
推荐指数
1
解决办法
9676
查看次数

不必要的IO和产品加入指标

什么是Teradata中的不必要的IO和产品加入指标.如何为查询确定这些指标?

teradata

5
推荐指数
1
解决办法
3363
查看次数

错误2616在进行计数(*)时计算期间出现数值溢出

我正在尝试select count(*)从表中进行从表的操作,由于此错误,我无法执行此操作。我不知道表中的行数。

除此以外,我没有在查询中进行任何其他聚合。

我想这与计数值有关,该计数值太大而无法存储在INTEGER中。

有什么选择?

sql teradata

5
推荐指数
1
解决办法
3万
查看次数

如何查找具有与特定模式匹配的列名的所有表/视图

如何查找列名与模式匹配的所有表或视图.

模式是一个简单的LIKE %abcd%模式,而不是正则表达式.

查询或查询应返回视图和表.

teradata

5
推荐指数
1
解决办法
2万
查看次数

Teradata CASE和HAVING COUNT

我有一张桌子Handset.有一些重复的imei,我必须只选择一个imei,每个都有这些要求:

  1. 当发现独特的imei然后选择那个
  2. 当找到重复的imei时,如果一个data_capable ='Y',则选择那个.
  3. 当发现重复的imei时,如果data_capable ='Y',则选择一个最大(收入)
  4. 当找到重复的imei时,如果data_capable ='N',则选择一个max(收益)

IMEI               MSISDN        REVENUE   DATA_CAPABLE

35622200000001  4282336700001   1000        Y
35622200000001  4282336700002   2000        N
35622200000002  4282336700003   3000        Y
35622200000003  4282336700004   4000        Y
35622200000004  4282336700005   5000        Y
35622200000005  4282336700006   6000        Y
35622200000005  4282336700007   7000        Y
35622200000006  4282336700008   8000        Y
35622200000007  4282336700009   9000        N
35622200000007  4282336700010   1100        N
Run Code Online (Sandbox Code Playgroud)

CASE WHEN and HAVING COUNT(*)>1对于这种情况我很困惑.大师的任何帮助真的很感激

sql teradata

5
推荐指数
1
解决办法
364
查看次数

需要在分区中选择最新的5条记录

我被困在一个要求中.这可能很简单,但我没有通过.

我有一个审计表Audit_Info,它捕获所有表的审计信息.表可以在同一个工作日期多次运行.我的要求是获取最近5个月的每个月的最新业务日期记录.可能会发生一个特定月份的表未运行.

表就像

table_name business_date src_rec tgt_rec del_rec load_timestamp
abc          25/10/2015   10      10      0       23/01/2016 03:06:56
abc          25/10/2015   10      10      0       23/01/2016 05:23:34
abc          07/09/2015   10      10      0       23/10/2015 05:37:30
abc          05/08/2015   10      10      0       23/09/2015 05:23:34
abc          15/06/2015   10      10      0       23/07/2015 05:23:34
abc          25/04/2015   10      10      0       23/05/2015 05:23:34
Run Code Online (Sandbox Code Playgroud)

类似的还有其他表格.我需要5张桌子.

谢谢你的帮助.

此致,阿米特 请看突出显示

sql teradata

5
推荐指数
1
解决办法
62
查看次数

使用EXPLAIN命令验证CREATE TABLE DDL的语法

我有一些创建表脚本,我需要在我的应用程序中预先验证.我可以想到两种方式:

  1. 使用该脚本创建表并立即使用DROP表.
  2. 使用EXPLAIN命令查找语法错误而不创建它.

我发现第二种方式更有效率.因此,我使用Explain命令验证了CREATE TABLE DDL.

工作:

Teradata数据

Explain <CREATE TABLE DDL>
Run Code Online (Sandbox Code Playgroud)

神谕

EXPLAIN PLAN FOR <CREATE TABLE DDL>
Run Code Online (Sandbox Code Playgroud)

不工作:

SQL SERVER

找不到存储过程'解释'.SQLState:S00062 ErrorCode:2812

Netezza公司

^找到"CREATE"(在char 18)期望DELETE' orINSERT'或SELECT' orUPDATE'或'WITH'

DB2

错误:DB2 SQL错误:SQLCODE = -104,SQLSTATE = 42601,SQLERRMC = TABLE; EXPLAIN CREATE; JOIN,DRIVER = 4.14.111 SQLState:42601 ErrorCode:-104


  • 还有其他更好的方法来验证Create Table DDL吗?

  • 有没有通用的方法来处理流行的RDBMS?

  • 如果说明是唯一可用的解决方案,那么如何为SQL Server,Netezza和DB2执行解释?

编辑:

这里验证意味着检查语法(存储大小,精度,范围违规,保留关键字作为表或列名称等)

例如,查询像 -

create table abc (c1 decimal(555,44))
Run Code Online (Sandbox Code Playgroud)

我想事先得到精度溢出错误.

sql-server oracle db2 teradata netezza

5
推荐指数
1
解决办法
1614
查看次数

SQL挑战/难题:给定堆栈跟踪 - 如何在每个时间点找到顶部元素?

  • 我的真实用例是合并嵌套范围.我画了一些草图然后我看到范围开始和结束之间的相似性来叠加PUSH和POP操作.我明白解决这个问题也会解决原来的问题.

  • 柱实际上可以从问题中移除.当val为NULL时,它是POP操作,否则它是PUSH操作.

谜题

stack_trace包含以下列:

  • i - 表示某个时间点的整数值.
  • op - 2个可能的操作:I("in"/"push")和O("out"/"pop").
  • val - "in"/"push"操作插入的值或"out"/"pop"操作的NULL.

    目标是在每个时间点(i)找到堆栈顶部的值.

例如

(NULL值在此表示为空格)

数据:

i   op  val 
--  --  --  
1   I   A   
2   I   B   
3   O
4   I   C
5   O    
6   O   
Run Code Online (Sandbox Code Playgroud)

要求的结果:

i   top_of_stack_val
--  ----------------
1   A
2   B
3   A
4   C
5   A
6   
Run Code Online (Sandbox Code Playgroud)

要求

  • 解决方案应该是单个SQL查询(子查询很好).
  • 只允许使用以下子句:SELECT,FROM,WHERE,GROUP BY,HAVING, …

sql sql-server oracle hive teradata

5
推荐指数
1
解决办法
409
查看次数

SQL挑战/难题:如何合并嵌套范围?

  • 这一挑战基于涉及IP范围的现实生活用例.
  • 我带来的解决方案基于我之前介绍的堆栈跟踪挑战.每个范围开始被视为PUSH操作,每个范围结束+ 1被视为POP操作.

挑战

我们有一个范围数据集,其中每个范围都有一个起点,终点和一个值.

create table ranges
(
    range_start     int         not null
   ,range_end       int         not null
   ,range_val       char(1)     not null
)
;
Run Code Online (Sandbox Code Playgroud)

范围可以包含另一个范围或跟随另一个范围,但不能等于另一个范围或与另一个范围相交.

这些是范围之间的有效关系:

(1)           (2)           (3)           (4)
---------     ---------     ---------     -------- -----------
---                 ---        ---
Run Code Online (Sandbox Code Playgroud)

这些关系无效:

(5)                (6)
-------        --------       
-------              --------
Run Code Online (Sandbox Code Playgroud)

我们的初始范围,如果以图形方式显示,可能看起来像这样(字母代表range_val):

AAAAAAAA  BBCCCCCCC
 DDE   F   GGGGG
   H       IIII
             J
Run Code Online (Sandbox Code Playgroud)

目标是获取初始范围集并在以下规则下创建新集:

包含的范围将覆盖包含范围的相应子范围.

当以图形方式呈现时,请求的结果可能看起来像这样

ADDHAAAF  BIIJIGCCC
Run Code Online (Sandbox Code Playgroud)

要求

  • 解决方案应该是单个SQL查询(子查询很好).
  • 不允许使用T-SQL,PL/SQL等.
  • 不允许使用UDF(用户定义的函数).

数据样本

AAAAAAAAAAAAAAAAAAAAAAAAAAAA  BBBB    CCCCCCCCCCCCCCCCCCCCCCCCC …
Run Code Online (Sandbox Code Playgroud)

sql sql-server oracle hive teradata

5
推荐指数
1
解决办法
282
查看次数

Sqoop导入Null字符串

Null查询配置单元外部表时,值显示为"\ N".

下面是sqoop导入脚本:

sqoop import -libjars /usr/lib/sqoop/lib/tdgssconfig.jar,/usr/lib/sqoop/lib/terajdbc4.jar -Dmapred.job.queue.name = xxxxxx\--connect jdbc:teradata:// xxx .xx.xxx.xx/DATABASE = $ db,LOGMECH = LDAP --connection-manager org.apache.sqoop.teradata.TeradataConnManager\--username $ user --password $ pwd --query"

从$ db.xxx中选择col1,col2,col3

其中\ $ CONDITIONS"\ - null-string'\ N' - null-non-string'\ N'\ --fields-terminated-by'\t'--num-mappers 6\--split-by job_number\--delete-target-dir\--target-dir $ hdfs_loc

请告知应对脚本进行哪些更改,以便在查询外部配置单元表时将空值显示为空.

null hadoop hive teradata sqoop

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

teradata ×10

sql ×6

hive ×3

oracle ×3

sql-server ×3

db2 ×1

hadoop ×1

netezza ×1

null ×1

sqoop ×1

stored-procedures ×1