Home Page for the TeradataForum

Archives of the TeradataForum

Message Posted: Thu, 19 Sep 2002 @ 00:15:12 GMT

  <Prev Next>   <<First <Prev Next> Last>>  

Subj:   Re: Case Statement in Macro
From:   McCall, Glenn D

I am curious how this ever worked? I have never seen a macro that starts with a case statement.

The SQL Reference manual says the syntax of a replace macro is:

Replace macro (Parameters)
As ( statement; statement; ... )

The manual further goes on to say that "statement" is an SQL statement.

Your macro starts with a CASE statement which is not an SQL Statement. Case can be used as part of a statement but not a statement in its own right.

This seems to be confirmed by the error message you are getting. When it says "something expected between (and case" I think what is expected is a DML statement such as "DELETE" or "SELECT" etc.

Perhaps you could rewrite your delete like this:

    WHERE NI_CKTID     = :ni_cktid
     AND  ((CKT_SUBD_NO  IS NULL and :ckt_subd_no is null) OR (CKT_SUBD_NO = :ckt_subd_no))
     AND  CKT_DATE     = :ckt_date
     AND  CKT_TIME     = :ckt_time

Hope this helps

Glenn Mc

  <Prev Next>   <<First <Prev Next> Last>>  
  Top Home Privacy Feedback  
Copyright for the TeradataForum (TDATA-L), Manta BlueSky    
Copyright 2016 - All Rights Reserved    
Last Modified: 28 Jun 2020