Teradata 中的 IF ELSE 语句

IF ELSE statement in Teradata

我有两个 sql 语句 SQL 1 & SQL 2。此外,我想 运行 按照以下逻辑

SELECT * 
FROM MY_TABLE
WHERE COL1 > 0;

If ACTIVITY_COUNT = 0 THEN RUN SQL 1     ----- if records are present then run sql 1

ELSE 

RUN SQL 2    ----- if records are not present the run sql 2

能否推荐一个 TERADATA SQL 代码?

提前致谢!

SQL 助手支持旧的 BTEQ 语法:

SELECT * 
FROM MY_TABLE
WHERE COL1 > 0;

.IF ACTIVITYCOUNT = 0 THEN .GOTO l2; -- no result, skip SQL 1

SQL 1     ----- if records are present then run sql 1

.EXIT;  -- don't run SQL2

.LABEL l2;

SQL 2    ----- if records are not present the run sql 2
CREATE PROCEDURE activity_proc(OUT out_res VARCHAR(30))
BEGIN
  DECLARE l_cnt  int;
  SELECT n_activity_count INTO l_cnt FROM My_Table;

  IF l_cnt=0 THEN
    select  'No activity' into out_res;
  ELSE  
    select  'Activity count: ' || cast(l_cnt as varchar(10)) into out_res;
  END IF;   

END;

此外,请记住 activity_count 是保留字。