Выполнение хранимой процедуры teradata из SAS

#sas #teradata

#sas #teradata

Вопрос:

Я пытаюсь выполнить хранимую процедуру Teradata из SAS, но не смог найти правильный синтаксис, вот пример того, что я пробовал:

libname tbconn сервер teradata=»10.11.18.15″ база данных =»yy» пользователь =x pw=xx; выполнить tbconn.Имя процедуры (дата ‘2011-03-31’);

и я также пытался использовать call command вместо excecute, но это также не сработало. есть идеи, люди.

Ответ №1:

Пробовали ли вы следующее:

 libname tbconn teradata server="10.11.18.15" database="yy" user=x pw=xx; call <databaseowner>.ProcedureName(date '2011-03-31');
  

Где <databaseowner> — база данных, в которой хранится процедура, расположенная в Teradata. Я не уверен, что database="yy" в вашем примере это та же база данных, где можно найти хранимую процедуру, или нет.

Редактировать: должен ли SQL, передаваемый в базу данных, быть обернут во что-то вроде функции EXECUTE в SAS? EXECUTE(call <db>.<procedure>(<param>);) BY tbconn;

Комментарии:

1. появляется та же ошибка, она выдает сообщение об ошибке, которое называется «Ошибка 180-322: оператор недопустим или он используется не в правильном порядке», и я также попробовал connectionName. имя_базы_данных.имя_процеДуры