Problem:
CALL DBC.SysExecSQL('SELECT ADD_MONTHS(date,1)') ;
CALL DBC.SysExecSQL('SELECT ADD_MONTHS(date,1)') ;
*** Failure 5495 Stored Procedure 'DBC.SysExecSQL' does not exist.
Statement# 1, Info =0
*** Total elapsed time was 1 second.
Cause:
This is a dynamic SQL , an INTERNAL Stored procedure known only to the PARSER and only CALL-able from inside another Stored procedure.
Solution:
Use inside another procedure.
Example:
Crate a file proc.txt
CREATE PROCEDURE USER.Test_date()
P0: BEGIN
CALL DBC.SysExecSQL('SELECT ADD_MONTHS(date,1)') ;
END P0
;
# bteq
Teradata BTEQ 15.10.01.09 for LINUX. PID: 18064
Copyright 1984-2016, Teradata Corporation. ALL RIGHTS RESERVED.
Enter your logon or BTEQ command:
.logon User
.logon User
Password:
*** Logon successfully completed.
*** Teradata Database Release is 15.10.07.11
*** Teradata Database Version is 15.10.07.11
*** Transaction Semantics are BTET.
*** Session Character Set Name is 'ASCII'.
*** Total elapsed time was 1 second.
BTEQ -- Enter your SQL request or BTEQ command:
.compile file=proc.txt;
.compile file=proc.txt;
*** Procedure has been created.
*** Total elapsed time was 1 second.